应运行 composer global config bin-dir --absolute 获取真实路径,Linux/macOS为~/.config/composer/vendor/bin,Windows为%APPDATA%\Composer\vendor\bin;再将该绝对路径添加至shell配置文件(如~/.zshrc)或Windows用户环境变量Path中,并重新加载或重启终端验证。

装完 composer global require 还是 command not found,90% 是因为 PATH 没加对,不是安装失败,也不是包有问题。
怎么确认该往 PATH 里加哪条路径?
别猜、别抄旧教程、别硬写 ~/.composer/vendor/bin —— 新版 Composer(2.4+)默认已切到 ~/.config/composer/vendor/bin(Linux/macOS),Windows 仍是 %APPDATA%\Composer\vendor\bin,但具体路径可能被你自定义过。
唯一可靠方式是运行:
composer global config bin-dir --absolute
它输出的才是真实路径,比如:
- Linux/macOS:
/home/alice/.config/composer/vendor/bin - Windows:
C:\Users\Alice\AppData\Roaming\Composer\vendor\bin
把这个路径复制下来,下一步直接用。
Linux/macOS:加到 shell 配置文件的哪一行?
先确认你用的是什么 shell:
echo $SHELL
常见情况:
- zsh(macOS Catalina 及以后默认)→ 编辑
~/.zshrc - bash → 编辑
~/.bash_profile或~/.bashrc(推荐前者)
在对应文件末尾追加这一行(注意把前面查到的路径填进去):
export PATH="$(composer global config bin-dir --absolute):$PATH"
这样写比硬编码路径更稳妥,能自动适配未来配置变更。改完必须执行:
source ~/.zshrc
或者新开终端。只改文件不 source,当前终端不会生效。
Windows:用户变量 vs 系统变量,该加在哪?
加到「用户变量」里的 Path 就够了,不用碰系统变量。操作路径:
「此电脑」→ 右键「属性」→ 「高级系统设置」→ 「环境变量」→ 「用户变量」→ 找到 Path → 「编辑」→ 「新建」
粘贴你从 composer global config bin-dir --absolute 得到的**完整绝对路径**,例如:
C:\Users\Alice\AppData\Roaming\Composer\vendor\bin
⚠️ 注意:不能写 %APPDATA%\Composer\vendor\bin —— Git Bash 不识别这个变量,PowerShell/CMD 虽然能展开,但不如绝对路径稳。
保存后,必须关闭所有已打开的终端(CMD、PowerShell、VS Code 内置终端),再全新打开一个,否则 PATH 不会更新。
验证是否真生效?别信 composer global list
composer global list 只说明包装进了 vendor 目录,不代表命令能调用。真正有效的验证步骤是:
- Linux/macOS:
echo $PATH | grep composer看有没有刚加的路径;再跑which laravel(假设你装了laravel/installer) - Windows:
echo %PATH%搜索路径;再跑where laravel,应返回.bat或.php文件位置
如果 where 或 which 无输出,说明 PATH 还没生效,或路径本身不存在(比如目录为空、laravel 文件根本没生成)—— 此时要检查包是否真有 "bin" 字段,例如 laravel/installer 有,但 monolog/monolog 就没有。











