执行php artisan make:auth提示Command "make:auth" is not defined如何解决
报错原因
make:auth 是Laravel 6及更早版本内置的认证脚手架命令,从Laravel 7版本开始该命令已被官方从核心框架中移除,拆分到单独的 laravel/ui 扩展包中,高版本Laravel直接运行该命令就会提示不存在。
解决方法
- 如果你使用的是Laravel 7、8版本:
- 先安装laravel/ui扩展包
composer require laravel/ui - 根据你的前端技术栈选择对应命令生成认证模块:
生成基础认证脚手架:php artisan ui:auth
搭配Vue使用:php artisan ui vue --auth
搭配React使用:php artisan ui react --auth - 最后执行前端依赖安装和编译即可
npm install && npm run dev
- 先安装laravel/ui扩展包
- 如果你使用的是Laravel 9及以上版本:
官方更推荐使用Breeze或Jetstream作为认证脚手架,二选一即可:- 选择Laravel Breeze(轻量简洁,适合小型项目):
安装扩展包:composer require laravel/breeze --dev
生成脚手架:php artisan breeze:install
执行后续配置:php artisan migrate && npm install && npm run dev - 选择Laravel Jetstream(功能完备,自带团队管理、双因素认证等能力,适合中大型项目):
安装扩展包:composer require laravel/jetstream
根据技术栈生成脚手架:
搭配Livewire:php artisan jetstream:install livewire
搭配Inertia:php artisan jetstream:install inertia
执行后续配置:php artisan migrate && npm install && npm run dev
- 选择Laravel Breeze(轻量简洁,适合小型项目):
- 如果你必须使用原生
make:auth命令:
可以将Laravel版本降级到6.x及更早版本,该方案仅建议旧项目兼容场景使用。
内容的提问来源于stack exchange,提问作者Duy Khanh
相关产品推荐
相关产品推荐

