最常见原因是Shell配置未适配升级后环境;需确认当前Shell(zsh/bash),将~/.composer/vendor/bin加入对应配置文件(如~/.zshrc),执行source重载,并验证which laravel是否返回路径。

Mac 升级系统后 Laravel 安装器(laravel 命令)失效,最常见原因是 Composer 全局 bin 目录路径未被新系统的 Shell 配置识别,或 Shell 类型切换(如从 bash 切到 zsh)导致环境变量未加载。
确认当前 Shell 和配置文件
macOS Catalina 及之后默认使用 zsh,但升级后可能残留旧配置或未自动迁移。先查清你用的是哪个 Shell:
- 运行
echo $SHELL—— 若输出/bin/zsh,应编辑~/.zshrc - 若输出
/bin/bash,则对应修改~/.bash_profile或~/.bashrc - 升级后部分用户会遇到 Shell 配置文件未被读取的问题,可运行
cat ~/.zshrc | grep vendor检查是否已有相关 PATH 行
重新配置全局 bin 路径
Composer 默认把 laravel 可执行文件放在 ~/.composer/vendor/bin。该路径必须显式加入 PATH 才能直接调用命令:
- 打开终端,执行:
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.zshrc - 重载配置:
source ~/.zshrc - 验证是否生效:
echo $PATH查看是否含该路径;再运行which laravel,应返回/Users/xxx/.composer/vendor/bin/laravel
检查 Laravel Installer 是否仍存在
系统升级不会删除 Composer 全局包,但有时权限或缓存异常会导致命令不可用:
- 运行
composer global list,确认laravel/installer在列表中 - 若缺失,重新安装:
composer global require laravel/installer - 若提示权限错误(如
Permission denied),可能是~/.composer所有者变更,执行:sudo chown -R $(whoami) ~/.composer
替代方案:绕过全局命令直接创建项目
如果暂时不想调试环境变量,可用更稳定的方式新建 Laravel 项目:
- 用
create-project(不依赖laravel命令):composer create-project laravel/laravel myapp - 加
--prefer-dist加速下载:composer create-project laravel/laravel myapp --prefer-dist - 国内用户建议提前配好阿里云镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
不复杂但容易忽略——关键就两点:Shell 配置文件对了,PATH 加对了。做完 reload 一次,基本就能恢复 laravel new 的正常使用。


















