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 FilesGitbin或C:Users{user}AppDataLocalProgramsGitbin - 把该路径加到系统环境变量
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,记得彻底关掉所有终端再重开。