Composer 报错“git is not recognized”说明未安装 Git 或 PATH 未配置;需安装 Git 并将其 bin 路径加入系统环境变量 PATH,重启终端后运行 git --version 验证,再执行 composer install 确认 Cloning 日志出现。

Composer 报错 git is not recognized as an internal or external command,说明系统根本没装 Git,或者装了但没加进环境变量 PATH。
Git 命令行工具没安装
Composer 在拉取 vcs 类型的包(比如 dev-master、dev-feature/x)时,必须调用 git clone。Windows 默认不带 Git,macOS 和 Linux 也不一定预装。
- Windows 用户直接去 git-scm.com/download/win 下载安装程序,勾选
Add Git to the system PATH(推荐选 “Use Git from Windows Command Prompt”) - macOS 推荐用
brew install git;若只装 Xcode Command Line Tools,git会自带,但部分旧版本可能缺失git config --global等子命令,建议仍用 Homebrew 安装完整版 - Linux(如 Ubuntu/Debian)运行
sudo apt update && sudo apt install git
Git 装了但 cmd/powershell 找不到
即使安装了 Git,如果安装时没勾选添加 PATH,或手动改过系统环境变量,git --version 就会报“不是内部或外部命令”。
- 先确认 Git 实际安装路径,常见位置:
C:\Program Files\Git\bin或C:\Users\{user}\AppData\Local\Programs\Git\bin - 把该路径加到系统环境变量
PATH中(Windows:系统属性 → 高级 → 环境变量 → 系统变量 → 编辑Path→ 新增) - 重启所有已打开的终端(cmd、PowerShell、IDE 内置终端),再执行
git --version验证 - 注意:某些国产“安全软件”会拦截 PATH 修改或静默删掉新增项,可临时关闭测试
Composer 强制跳过 Git(仅临时绕过)
如果你只是想装稳定版 dist 包(tar.gz/zip),且确定依赖里没写 dev- 分支,可以关掉 VCS 拉取:
composer install --prefer-dist
或者全局禁用 Git(不推荐长期用):
composer config -g disable-tls true composer config -g github-protocols https composer config -g use-github-api false
- 这些配置不会让 Composer “不用 Git”,只是让它优先走 ZIP 下载,并绕过 GitHub API 鉴权
- 一旦某个包的
composer.json明确指定"type": "vcs"或 require 了dev-版本,还是会失败 - 生产环境务必配好 Git,否则 CI/CD 流水线必然卡住
验证是否真解决问题
别只测 composer --version,要实际触发一次 Git 行为:
composer create-project laravel/laravel test-app --stability=dev --no-install
然后进 test-app 目录,删掉 vendor 和 composer.lock,再运行:
composer install
- 如果看到
Cloning或xxx...Installing,说明 Git 已就位xxx(dev-main) - 如果还报
git不识别,说明终端没读到新 PATH,或 IDE 终端缓存了旧环境(VS Code 需重启窗口) - 某些公司内网会拦截 GitHub,此时 Git 能运行但 clone 失败,那是网络策略问题,和 PATH 无关
真正卡住的地方往往不是“没装 Git”,而是“装了但终端没继承新 PATH”,尤其在 VS Code、PhpStorm 这类 IDE 里启动的终端,容易忽略环境变量重载。每次改完 PATH,记得彻底关掉所有终端再重开。










