新装Ubuntu系统执行laravel命令返回command not found是什么原因?
问题原因
1. laravel: command not found报错的根源
- Composer全局路径配置不匹配:你当前环境下Composer全局依赖的默认安装目录是
/home/master/.config/composer,但你手动配置PATH时用了旧版Composer的路径~/.composer/vendor/bin,系统无法找到laravel命令的实际存放位置。 - 即使路径配置正确,你指定安装的1.1版本installer本身也存在兼容性问题,无法适配现代Laravel的安装逻辑。
2. laravel/installer 1.1版本的兼容性说明
laravel/installer 1.1是2015年发布的老旧版本,仅支持安装Laravel 5.1及更早的版本,完全不兼容当前的现代Laravel版本:你用到的--jet参数是Laravel 8版本才新增的Jetstream安装选项,1.1版本的installer根本不识别该参数,就算命令可正常调用也无法完成你需要的项目创建。
解决方案
- 先卸载旧版本安装器:
composer global remove laravel/installer
- 安装最新版Laravel安装器:
composer global require laravel/installer
- 临时生效PATH配置(仅当前终端窗口有效):
export PATH="$PATH:$HOME/.config/composer/vendor/bin"
如果需要永久生效,把上面这行命令添加到你当前shell的配置文件(~/.bashrc对应Bash,~/.zshrc对应Zsh)中,执行source ~/.bashrc(或对应配置文件)即可全局生效。
- 验证配置是否正常:
执行laravel --version,能正常输出版本号即可重新执行laravel new NewLivewireApp --jet创建项目。
内容的提问来源于stack exchange,提问作者mstdmstd
相关产品推荐
相关产品推荐

