Composer提示git不是内部或外部命令_安装Git支持Composer下载【常用】

1次阅读

composer报“git不是内部或外部命令”是因系统PATH未包含Git路径;需检查git –version,windows加Git bin目录到PATH,macOS/linux确认which git并配置shell文件,或临时启用use-zip true。

Composer提示git不是内部或外部命令_安装Git支持Composer下载【常用】

Composer 报错 “git 不是内部或外部命令” 就是它要调用 git 却根本找不到可执行文件——不是 Composer 本身的问题,而是系统 PATH 没把 Git 的安装路径加进去。

为什么 Composer 非要用 git

Composer 默认从 githubgitlab 等源拉取包时,优先走 git clone(尤其 dev 分支、未打包的仓库),比下载 zip 包更灵活。如果没装 Git 或 PATH 不对,就会卡在 Cloning failed using an ssh command 或直接报 “不是内部或外部命令”。

  • 即使你只装了 GitHub Desktop,它默认不把 git 加入系统 PATH
  • Windows 上 Git for Windows 安装时勾选 “Add Git to the system PATH” 才有效
  • macOS 用 Homebrew 装的 Git 通常没问题;但手动解压的 Git 二进制包必须自己配 PATH

检查 git 是否真可用

别信“我明明装过了”,打开新终端(CMD/PowerShell/Terminal),直接运行:

git --version

如果提示“不是内部或外部命令”,说明系统确实找不到 git。这时候:

  • Windows:去 C:Program FilesGitbinC:Users{user}appDataLocalProgramsGitbingit.exe,把整个 bin 目录路径加到系统环境变量 PATH
  • macos/Linux:运行 which git,若为空,重装 Git(brew install git)或把 /usr/local/bin(或实际路径)加入 ~/.zshrc~/.bash_profilePATH
  • 重启终端再试——环境变量不会自动刷新到已打开的窗口

不想装 Git?临时绕过(仅限简单场景)

某些包纯 php、无子模块、只有稳定 tag,可以强制让 Composer 改用 zip 下载:

composer config -g github-protocols https

再加这句禁用 Git 克隆(慎用):

composer config -g disable-tls false

但更关键的是设置:

composer config -g use-zip true
  • 这个配置会让 Composer 对所有包尝试走 https://api.github.com/repos/{user}/{repo}/zipball/{ref}
  • 缺点:无法检出 submodules、无法切本地分支、部分私有仓库或自建 Git 服务不支持 zipball
  • 遇到 Failed to download ... No zip archive found 就得老老实实配好 git

PATH 配错是最常见的根因,很多人改了环境变量却没开新终端验证;另外,CI/CD 环境(比如 GitHub Actions)里也要显式安装 git 步骤,不能默认存在。

text=ZqhQzanResources