答案是未将%appdata%\composer\vendor\bin路径手动添加到windows用户环境变量path中;需运行composer config --global home获取根目录,拼出完整bin路径,确认存在laravel.bat等文件后加入用户变量path,重启终端生效。

Windows 下 composer global require 安装的命令(如 laravel、phpunit)找不到,90% 是因为你没把全局 vendor/bin 目录加进系统 PATH——Composer 从不自动做这事,必须手动配。
怎么确认全局 bin 目录真实路径?
别猜,直接让 Composer 告诉你:
- 运行
composer config --global home,得到类似C:\Users\Alice\AppData\Roaming\Composer的路径 - 拼上
\vendor\bin,就是完整路径:C:\Users\Alice\AppData\Roaming\Composer\vendor\bin - 用文件资源管理器打开这个路径,确认里面有
laravel.bat或phpunit.bat等文件;如果目录为空或根本不存在,说明composer global require没成功,或包本身没声明"bin"字段
为什么加了 Composer 自身路径还不够?
很多人只加了 C:\ProgramData\ComposerSetup\bin(这是 composer.bat 所在位置),但这个路径和全局命令无关。后者放在 %APPDATA%\Composer\vendor\bin,两者完全独立:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
-
C:\ProgramData\ComposerSetup\bin:只放composer.bat,让你能运行composer --version -
%APPDATA%\Composer\vendor\bin:放laravel.bat、phpunit.bat等,必须单独加进 PATH - 两个路径都要加,且都得加到「用户变量」里的
Path(避免权限问题),不是「系统变量」
加完 PATH 后命令还是报错怎么办?
常见错误和对应检查点:
-
'php' 不是内部或外部命令:说明.bat文件调用php失败。运行where php看 PHP 是否在 PATH 中;若不在,需把 PHP 安装目录(如C:\php)也加进 PATH,或设PHP_BINARY环境变量为绝对路径(如C:\php\php.exe) -
The term 'laravel' is not recognized as the name of a cmdlet(PowerShell):说明 PowerShell 没读到新 PATH,必须关闭所有终端重开,不能只靠$env:PATH +=临时追加 - 路径里用了
%APPDATA%却不生效:环境变量 GUI 中支持该写法,但确保你填的是完整字符串%APPDATA%\Composer\vendor\bin,不是%APPDATA%单独一行
别碰 composer config --global bin-dir
这个命令在 Windows 上基本无效:
- 它只影响项目级
vendor/bin路径,对全局命令无作用 - 即使设了,也不会改变
%APPDATA%\Composer\vendor\bin的实际位置 - 强行设成绝对路径(如
composer config --global bin-dir "C:\tools")会被忽略,Composer v2+ 默认拒绝
真正要动的只有两件事:确认 %APPDATA%\Composer\vendor\bin 存在且有文件,然后把它加进用户 PATH——其他操作全是绕远路。










