问题
I have a problem when creating login/auth in Laravel 6. I typed "make: auth" in the terminal and I get an error "Command" make: auth "appears not defined." Is there a solution for this?
回答1:
Looks like L6 moves the Auth scaffolding into a separate package.
https://laravel.com/docs/6.0/authentication
Want to get started fast? Install the
laravel/ui
Composer package and runphp artisan ui vue --auth
in a fresh Laravel application.
回答2:
https://laravel.com/docs/6.0/authentication#included-routing
Laravel's laravel/ui package provides a quick way to scaffold all of the routes and views you need for authentication using a few simple commands:
composer require laravel/ui --dev
php artisan ui vue --auth
After above commands, you'll get following output :-
Vue scaffolding installed successfully.
Please run "npm install && npm run dev" to compile your fresh scaffolding.
Authentication scaffolding generated successfully.
Now after running this command run this command, for Vue scaffolding
npm install && npm run dev
If you're get following error message
npm ERR! Your cache folder contains root-owned files, due to a bug in
npm ERR! previous versions of npm which has since been addressed.
npm ERR!
npm ERR! To permanently fix this problem, please run:
npm ERR! sudo chown -R 1000:1000 "/home/shiv/.npm"
npm ERR! code EACCES
npm ERR! syscall open
Then give permission user to access .npm files from system
sudo chown -R 1000:1000 "/home/system_user_name/.npm"
As i now understood clearly,running "sudo command is dangerous for npm configurations"
Please look it this threat for more clear understanding :- npm throws error without sudo
回答3:
One major change introduced in Laravel 6.0 is the removal of php artisan make:auth
Command
Basically, make:auth
command was used to create the authentication scaffolding. The concept has not been removed, but the way of implementation has been changed
Update for Laravel 6: The New Way
Authentication support is now added with the help of a package now (More details)
The command to implement Auth is as follows:
composer require laravel/ui
php artisan ui vue --auth
This command will install a layout view, registration and login views, as well as routes for all authentication end-points. A HomeController will also be generated to handle post-login requests to your application's dashboard.
NOTE: If your Login and Register page only shows plain HTML. And CSS is not loading properly then run this two command:
npm install
npm run dev
回答4:
In Laravel 6.0 make:auth no longer exists. Read more here
1 - First do this:
composer require laravel/ui
Note: Laravel UI Composer package is a new first-party package that extracts the UI portion of a Laravel project ( frontend scaffolding typically provided with previous releases of Laravel ) into a separate laravel/ui package. The separate package enables the Laravel team to update, develop and version UI scaffolding package separately from the primary framework and the main Laravel codebase.
2 - Then do this:
php artisan ui:auth
instead of
php artisan make:auth ( which works for Laravel 5.8 and older versions )
It will generate the auth routes, a HomeController, auth views, and a app.blade.php layout file.
You can also generate the views only with:
php artisan ui:auth --views
The console command will prompt you to confirm overwriting auth files if you've already run the command before.
More Options here
// Generate basic scaffolding...
php artisan ui vue
php artisan ui react
and also:
// Generate login / registration scaffolding...
php artisan ui vue --auth
php artisan ui react --auth
回答5:
Laravel verion 6.0
composer require laravel/ui
php artisan ui vue --auth
these commands will help
来源:https://stackoverflow.com/questions/57774231/artisan-command-makeauth-is-not-defined-in-laravel-6