在 Windows 的 Git Bash 中运行 Composer 的关键是创建 shell 脚本封装 composer.phar,而非重装;需将脚本置于 ~/bin 并加入 PATH,确保 PHP 可执行,从而支持参数传递与命令补全。
在 Windows 上用 Git Bash 运行 Composer,关键不是重装,而是让 Git Bash 能正确识别并调用 Composer 的 PHP 执行环境。默认情况下,Composer 安装器生成的是 Windows 批处理文件(
),Git Bash 无法直接执行它,会报错
或提示“权限被拒绝”。
确认 Composer 已正确安装(Windows 原生)
先确保 Composer 已通过官方安装程序或手动方式安装成功,并能在 CMD/PowerShell 中运行:
打开 CMD,输入
,应显示版本号(如
)
检查
所在路径,通常是
或你自定义的路径
该目录下还应存在
—— 这是真正可跨平台调用的核心文件
在 Git Bash 中创建可执行的 shell 包装脚本
Git Bash 是类 Unix 环境,不认
,但能直接运行 PHP 脚本(前提是系统 PATH 中有 PHP)。最稳妥的方式是写一个
shell 脚本,放在 Git Bash 能找到的位置(如
或你的
):
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
在 Git Bash 中执行:
创建脚本:
编辑内容(用
或
):
⚠️ 注意把
替换为你的实际
绝对路径(可用
在 CMD 查,再转成 MSYS2 格式:
→
)
将
加入 Git Bash 的 PATH:
编辑
,末尾添加:
然后运行
验证与常用技巧
重启 Git Bash 或新开窗口,测试是否生效:
应返回
应正常输出,且命令补全(如
)也能工作
如果提示
,说明 Git Bash 找不到 PHP:把 PHP 安装目录(如
)加入
的 PATH:
不想每次输完整路径?用 alias 临时替代(加到
):
(但不如脚本灵活,不支持参数转发)
基本上就这些。不需要修改 Composer 源码,也不必折腾 MinGW 版 PHP——复用 Windows 已有的 PHP 和
composer
.phar,通过一层轻量 shell 封装,就能让 Git Bash 像在 Linux 下一样自然使用 Composer。
composer.batcommand not foundcomposer --versionComposer version 2.7.7composer.batC:\ProgramData\ComposerSetup\bin\composer.phar.batcomposer/usr/local/bin~/binmkdir -p ~/bin && cd ~/bintouch composer && chmod +x composernotepad composervim composer#!/usr/bin/env bash
php /c/Users/YourName/AppData/Roaming/Composer/vendor/bin/composer.phar "$@"/c/Users/YourName/...composer.pharwhere composer.pharC:\.../c/...~/bin~/.bashrcexport PATH="$HOME/bin:$PATH"source ~/.bashrcwhich composer/home/YourName/bin/composercomposer --versioncomposer inphp: command not found/c/php~/.bashrcexport PATH="/c/php:$PATH"~/.bashrcalias composer='php /c/path/to/composer.phar'