laravel命令找不到是因为Composer全局bin目录未加入PATH环境变量。默认路径为~/.composer/vendor/bin(Linux/macOS)或%USERPROFILE%\AppData\Roaming\Composer\vendor\bin(Windows),需手动添加至PATH并重新加载配置,再验证which laravel或where laravel是否生效。

全局安装失败,95% 不是 Composer 本身坏了,而是 composer 命令根本没进系统 PATH,或者全局 bin 目录权限/归属不对。
为什么 composer global require laravel/installer 执行后 laravel 命令找不到?
Composer 全局安装的可执行文件(如 laravel)默认放在:
– macOS/Linux:~/.composer/vendor/bin
– Windows:%USERPROFILE%\AppData\Roaming\Composer\vendor\bin
这个路径不会自动加入 $PATH 或 %PATH%,所以终端压根不知道有这个命令。
- 运行
echo $PATH(macOS/Linux)或echo %PATH%(Windows),确认上述路径是否在列表里 - 临时验证:直接运行
~/.composer/vendor/bin/laravel --version,如果能输出版本,说明安装成功,只是 PATH 没配 - Windows 用户注意:
%USERPROFILE%\AppData\Roaming\Composer\vendor\bin中的AppData是隐藏目录,需在文件资源管理器地址栏手动输入才能看到 - 别用
composer global install—— 这个命令不存在,正确的是composer global require
Permission denied 写入 ~/.composer/vendor/bin 怎么办?
错误常出现在 Linux/macOS,现象是 composer global require 报 failed to open stream: Permission denied。根本原因不是磁盘满,而是该目录或其父目录归属为 root,或权限被锁死。
- 先检查归属:
ls -ld ~/.composer ~/.composer/vendor ~/.composer/vendor/bin,若任一目录所有者不是当前用户,就出问题了 - 修复命令:
sudo chown -R $USER:$USER ~/.composer(慎用 sudo,仅当确认归属异常时) - 避免后续再出问题:永远不要用
sudo composer global require—— 它会让生成的二进制文件属于 root,后续无法覆盖或执行 - 如果已误用 sudo,除了改归属,还要删掉
~/.composer/vendor/bin/laravel等残留文件再重装
全局安装后 composer diagnose 报 “The COMPOSER_HOME directory is not writeable”
这表示 Composer 自己的配置和缓存目录(默认 ~/.composer)不可写,会导致 global require、config --global 等全部失败。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 运行
composer config --global home查看当前COMPOSER_HOME路径 - 检查该路径是否存在、是否可写:
ls -ld $(composer config --global home) - 若路径指向一个深层嵌套目录(如
/Users/xxx/Library/Application Support/Composer),容易触发 macOS 权限限制;建议强制迁移到短路径:mkdir -p ~/comphome && composer config --global home ~/comphome - Windows 用户若路径含中文或空格(如
C:\Users\张三\AppData\...),也会导致部分工具解析失败,应改用纯英文路径
明明 PATH 加了,新终端还是认不出 laravel?
PATH 修改后必须新开终端生效,且要确认 shell 配置文件(~/.zshrc、~/.bash_profile 或 Windows 环境变量 GUI)确实保存并加载了。
- macOS/Linux:检查
~/.zshrc是否有类似export PATH="$HOME/.composer/vendor/bin:$PATH",然后运行source ~/.zshrc - Windows:改完环境变量后,必须关闭并重新打开 CMD/PowerShell/终端应用,旧窗口不会刷新 PATH
- 验证是否真生效:
which laravel(macOS/Linux)或where laravel(Windows),有输出才代表识别成功 - IDE(如 PHPStorm、VS Code 终端)可能缓存旧 PATH,需重启 IDE 或在设置中指定 shell 路径
最易被忽略的一点:全局命令依赖的 PHP 环境,和你在项目里跑 composer install 的 PHP 可能不是同一个。用 which php 和 laravel --version 里的 PHP 版本对比一下,不一致就会出现“扩展找不到”类报错——这时候调 PATH 没用,得统一 CLI 的 PHP 路径。

















