Laravel 6 中未定义 Artisan 命令 "make:auth"。
问题的原因是在Laravel 6中,不再支持使用make:auth
命令来创建身份验证的脚手架。解决方法是使用laravel/ui包来创建身份验证的路由和视图。
具体的解决步骤如下:
1. 使用composer安装laravel/ui包:composer require laravel/ui "^1.0" --dev
2. 运行php artisan ui vue --auth
命令来生成身份验证的路由和视图。
3. 运行npm install && npm run dev
命令来编译前端资源。
4. 如果遇到权限错误的错误信息npm ERR! Your cache folder contains root-owned files...
,需要使用sudo chown -R 1000:1000 "/home/system_user_name/.npm"
命令来给用户授予对.npm文件的访问权限。
需要注意的是,使用sudo
命令来运行npm install是危险的,可能会导致一些问题。因此应该尽量避免使用sudo
命令来执行npm相关的操作。
参考链接:
- Laravel 6.x文档:https://laravel.com/docs/6.x/authentication
- 相关的Stack Overflow帖子:https://stackoverflow.com/q/16151018/4650866
- 不要在npm中使用sudo:https://medium.com//dont-use-sudo-with-npm-still-66e609f5f92
Laravel 6中出现了 "Artisan command "make:auth" is not defined" 这个问题的原因是make:auth命令已被移除。在Laravel 6之前,make:auth命令用于创建认证的脚手架。虽然这个概念没有被移除,但是实现方式发生了改变。
Laravel 6中的新方式是通过使用laravel/ui包来添加认证支持。要实现认证,需要执行以下命令:
composer require laravel/ui php artisan ui vue --auth
这个命令将安装一个布局视图、注册和登录视图,以及所有认证终点的路由。还将生成一个HomeController来处理登录后应用程序仪表板的请求。
如果登录和注册页面仅显示纯HTML,并且CSS样式没有正确加载,则需要运行以下两个命令:
npm install npm run dev