composer global require安装后command not found,是因为其二进制文件位于~/.composer/vendor/bin(linux/macos)或%appdata%\composer\vendor\bin(windows),但该路径未加入系统path环境变量,shell无法查找执行。

“composer global require”不是装命令,是装包;装完不配 PATH,工具一定用不了。
composer global require 为什么装完 laravel 还报 command not found
这条命令只把 laravel/installer 包解压到 ~/.composer/vendor/(Linux/macOS)或 %APPDATA%\Composer\vendor\(Windows),再把它的二进制文件软链接进 vendor/bin/ 目录。系统根本不知道这个目录在哪。
- 它不会自动修改
PATH,也不改 shell 配置文件 - 你敲
laravel,shell 查的是$PATH里每个目录,vendor/bin不在其中就直接报错 - 错误提示
command not found: laravel和 Composer 无关,是操作系统找不到可执行文件的通用机制
Linux/macOS 怎么让全局工具命令生效
必须把 vendor/bin 路径加进 PATH,且确保配置被当前 shell 加载。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 先确认路径:运行
composer config --global home,再拼上/vendor/bin(例如$HOME/.composer/vendor/bin) - 追加到 shell 配置:macOS Catalina 及以后默认用 zsh,改
~/.zshrc;旧系统或自定义 bash 的,改~/.bash_profile或~/.bashrc - 写这行:
export PATH="$HOME/.composer/vendor/bin:$PATH" - 立即生效:
source ~/.zshrc(别漏掉source,否则新开终端前都无效) - 验证:
echo $PATH | grep composer看是否含该路径;再试which laravel
Windows 下 PATH 配置常踩的坑
路径、变量名、生效方式三处最容易错。
- 实际 bin 路径是
%APPDATA%\Composer\vendor\bin,不是%APPDATA%\Composer\bin(后者不存在) - 环境变量名要填对:
Path(注意大小写,但 Windows 不敏感),不是PATH或path - 必须在「用户变量」里加,不是「系统变量」——除非你真想给所有用户用
- 加完点确定后,**必须新开一个 CMD 或 PowerShell 窗口**,旧窗口的
%PATH%不会刷新 - 验证:
where laravel或直接输laravel --version
composer global exec 是临时补救,不是长期方案
5.4+ 版本才有的 composer global exec,能绕过 PATH 缺失问题,但它只是“能跑”,不是“该这么用”。
- 每次都要多打
composer global exec前缀,比如composer global exec phpunit --version - 不支持完整 TTY,像
psysh这类交互式工具可能卡住输入 - 它不解决 autoload 冲突、PHP 版本兼容性等底层问题
- 如果你发现靠
exec才能用,说明 PATH 没配对——别忍,回头修 PATH
最易忽略的其实是 COMPOSER_HOME 变更后的路径联动:改过 composer config --global home,PATH 里的 vendor/bin 路径也得同步更新,否则旧配置和新目录永远对不上。










