'Php artisan make:auth command is not defined
I'm trying to run this command in Laravel 5.2 but it's not working:
php artisan make:auth
And prompts with these statements:
[InvalidArgumentException]
Command "make:auth" is not defined
Did you mean one of these?
make:test
make:request
make:migration
make:seeder
make:middleware
make:controller
make:provider
make:policy
make:event
make:console
make:job
make:listener
make:model
make:command
Solution 1:[1]
Update for Laravel 8
laravel/ui still works but is considered legacy. Consider using Laravel Breeze or Laravel Jetstream.
Update for Laravel 6
Now that Laravel 6 is released you need to install laravel/ui.
composer require laravel/ui --dev
php artisan ui vue --auth
You can change vue with react or bootstrap if you use React or Bootstrap in your project (see Using React).
And then you need to perform the migrations and compile the frontend
php artisan migrate
npm install && npm run dev
Source : Laravel Documentation for authentication
Want to get started fast? Install the laravel/ui Composer package and run php artisan ui vue --auth in a fresh Laravel application. After migrating your database, navigate your browser to http://your-app.test/register or any other URL that is assigned to your application. These commands will take care of scaffolding your entire authentication system!
Note: That's only if you want to use scaffolding, you can use the default User model and the Eloquent authentication driver.
Solution 2:[2]
In Laravel 6.0 make:auth no longer exists. Read more here
A- Shorthand:
Update Nov 18th: Taylor just released Laravel Installer 2.3.0 added a new "--auth" flag to create a new project with the authentication scaffolding installed!
To update laravel installer read here
It means we can do:
laravel new project --auth
cd project
php artisan migrate
npm install
npm run dev
Which is a shorthand of commands in the Section B. Also read more here
B - Details:
Follow these three steps
Step 1 - First do this:
laravel new project
cd project
composer require laravel/ui --dev
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.
Step 2 - Then do this:
php artisan ui bootstrap --auth
php artisan migrate
or
php artisan ui vue --auth
php artisan migrate
instead of
php artisan make:auth ( which works for Laravel 5.8 and older versions )
More Options here
php artisan ui:auth
The above command will generate only 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.
// 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
To see differences read this article
Step 3 - Then you need to do:
npm install
npm run dev
Solution 3:[3]
In the Laravel 6 application the make:auth command no longer exists.
Laravel UI is a new first-party package that extracts the UI portion of a Laravel project into a separate laravel/ui package. The separate package enables the Laravel team to iterate on the UI package separately from the main Laravel codebase.
You can install the laravel/ui package via composer:
composer require laravel/ui
The ui:auth Command
Besides the new ui command, the laravel/ui package comes with another command for generating the auth scaffolding:
php artisan ui:auth
If you run the ui:auth command, it will generate the auth routes, a HomeController, auth views, and a app.blade.php layout file.
If you want to generate the views alone, type the following command instead:
php artisan ui:auth --views
If you want to generate the auth scaffolding at the same time:
php artisan ui vue --auth
php artisan ui react --auth
php artisan ui vue --auth command will create all of the views you need for authentication and place them in the resources/views/auth directory
The ui command will also create a resources/views/layouts directory containing a base layout for your application. All of these views use the Bootstrap CSS framework, but you are free to customize them however you wish.
More detail follow. laravel-news & documentation
Simply you've to follow this two-step.
composer require laravel/ui
php artisan ui:auth
Solution 4:[4]
In short and precise, all you need to do is
composer require laravel/ui --dev
php artisan ui vue --auth and then the migrate php artisan migrate.
Just for an overview of Laravel Authentication
Laravel Authentication facilities comes with Guard and Providers, Guards define how users are authenticated for each request whereas Providers define how users are retrieved from you persistent storage.
Database Consideration - By default Laravel includes an App\User Eloquent Model in your app directory.
Auth Namespace - App\Http\Controllers\Auth
Controllers - RegisterController, LoginController, ForgotPasswordController and ResetPasswordController, all names are meaningful and easy to understand!
Routing - Laravel/ui package provides a quick way to scaffold all the routes and views you need for authentication using a few simple commands (as mentioned in the start instead of make:auth).
You can disable any newly created controller, e. g. RegisterController and modify your route declaration like, Auth::routes(['register' => false]); For further detail please look into the Laravel Documentation.
Solution 5:[5]
If you using >5 version of laravel then you will use.
composer require laravel/ui --dev **or** composer require laravel/ui
And then
php artisan ui:auth
Solution 6:[6]
This two commands work for me in my project
composer require laravel/ui --dev
Then
php artisan ui:auth
Solution 7:[7]
Please run the billow commands step by step in the case of laravel 9
composer require laravel/ui
php artisan ui bootstrap --auth
npm install
npm install resolve-url-loader@^5.0.0 --save-dev --legacy-peer-deps
npm run dev
Hope it will be helpful.
Solution 8:[8]
Checkout your laravel/framework version on your composer.json file,
If it's either "^6.0" or higher than "^5.9",
you have to use php artisan ui:auth instead of php artisan make:auth.
Before using that you have to install new dependencies by calling
composer require laravel/ui --dev in the current directory.
Solution 9:[9]
Following CLI commands are commonly used to setup Laravel 6.x, 7x , 8.x versions:
composer create-project --prefer-dist laravel/laravel blade-example-app
cd blade-example-app
composer require laravel/ui
php artisan ui bootstrap --auth
npm install && npm run dev
php artisan migrate
php artisan serve
Solution 10:[10]
You can use laravel/breeze
composer require laravel/breeze --dev
then
php artisan breeze:install
then
npm install
you can check the documentation
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
