答案是PATH未正确配置或镜像未生效:90%的“command not found”源于shell未在PATH中找到composer,需验证安装路径、权限及shell配置加载;“Resolving dependencies”卡住则多因镜像URL末尾缺/、键名错误或项目级repositories覆盖全局配置,须用composer diagnose确认生效状态。

“command not found: composer”不是没装,是系统根本没找到它;“Resolving dependencies”卡住不是网慢,是镜像压根没生效——这两件事占新手问题八成以上。
composer 命令找不到?PATH 没加载或权限不对
Linux/macOS 下把 composer.phar 移到 /usr/local/bin/composer 后,必须补两步:
- 加执行权限:
sudo chmod +x /usr/local/bin/composer - 确认
/usr/local/bin在$PATH里:echo $PATH | grep /usr/local/bin
全局 bin 目录(~/.composer/vendor/bin)也得加进 PATH,否则 composer global require laravel/installer 装完还是敲不出 laravel 命令。
改完配置要重载:source ~/.zshrc(macOS)或 source ~/.bashrc(Linux);Windows 必须新开终端,旧窗口不读新 PATH。
Windows 下 composer.bat 找不到?PATH 配错或安装静默失败
官方安装器勾选 “Add to PATH” 后,常因 UAC 权限或杀毒软件拦截而失败。别急着重装,先做三件事:
- 运行
where composer:无输出 = 真没在 PATH 里 - 手动去
C:\ProgramData\ComposerSetup\bin\看是否存在composer.bat和composer.phar - 把该目录(只到
bin这一级)加进「系统变量」里的Path,不是用户变量
再开新终端,运行 echo %PATH% 搜索刚加的路径,然后 composer --version 验证。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
注意:COMPOSER_HOME 设错会导致 global require 静默装进错误位置,且不报错。Windows 正确写法:setx COMPOSER_HOME "C:\Users\username\AppData\Roaming\Composer"(不能用 %USERPROFILE%,也不能带引号)。
镜像配置写错或被覆盖?三个细节错一个就静默失效
全局镜像命令看似简单,但以下三点必须全对:
- 键名必须是
repo.packagist(单数),写成repos.packagist或repository.packagist都不报错但无效 -
composer是type值,不是命令名,漏掉它等于没配:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - URL 末尾必须带
/:https://mirrors.aliyun.com/composer/✅,https://mirrors.aliyun.com/composer❌(某些版本会 404)
项目级 composer.json 里只要出现 "repositories" 字段,全局镜像立刻被无视。验证是否生效,跑 composer diagnose,看输出里有没有 Repo packagist.org is default —— 有就说明镜像没起作用。
装完不配加速项?第一次 install 就慢出幻觉
只装命令不配环境,等于买了车不加油。新装完立刻跑这三行:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/-
composer config -g github-protocols ["https"](避免 GitHub token 交互阻塞) -
composer clear-cache(清掉可能残留的旧源缓存)
注意:如果项目已有 composer.lock,composer install 会按锁文件还原,不会走镜像;想强制走新镜像,先删 composer.lock 再 composer install,或者直接 composer update。
复杂点在于:镜像配置、PATH、COMPOSER_HOME、项目级 repositories 四者之间存在隐式优先级关系,任何一个环节出偏移,都会导致行为不可预期——而且 Composer 很少明确告诉你哪错了。

















