Php artisan make: auth Befehl ist nicht definiert

79

Ich versuche, diesen Befehl in Laravel 5.2 auszuführen, aber er funktioniert nicht.

php artisan make:auth 

und fordert mit diesen Anweisungen.

[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
Naan
quelle
Es geht nichts über die Verwendung von Illuminate \ Contracts \ Auth \ Authenticator. in AuthenticateUser.php.as ich erwähnte, ich benutze Laravel 5.2
Naan
Hast du es versucht composer update?
Yauheni Prakopchyk
Ja, erst letzte Nacht.
Naan
@YauheniPrakopchyk benutzt du Laravel 5.2?
Naan
Es muss ein Problem mit Ihrem vorhandenen Code geben. Sie müssen es mit einer neuen Neuinstallation versuchen. laravel.com/docs/master/installation . Wahrscheinlich würden Sie das genaue Problem verstehen.

Antworten:

124

Für Laravel> = 6

composer require laravel/ui
php artisan ui vue --auth
php artisan migrate

Referenz: Laravel-Dokumentation zur Authentifizierung

Es sieht so aus, als würden Sie Laravel 5.2 nicht verwenden. Dies sind die verfügbaren make-Befehle in L5.2, und Sie vermissen mehr als nur den Befehl make: auth

    make:auth           Scaffold basic login and registration views and routes
    make:console        Create a new Artisan command
    make:controller     Create a new controller class
    make:entity         Create a new entity.
    make:event          Create a new event class
    make:job            Create a new job class
    make:listener       Create a new event listener class
    make:middleware     Create a new middleware class
    make:migration      Create a new migration file
    make:model          Create a new Eloquent model class
    make:policy         Create a new policy class
    make:presenter      Create a new presenter.
    make:provider       Create a new service provider class
    make:repository     Create a new repository.
    make:request        Create a new form request class
    make:seeder         Create a new seeder class
    make:test           Create a new test class
    make:transformer    Create a new transformer.

Stellen Sie sicher, dass Sie diese Abhängigkeit in Ihrer Datei composer.json haben

    "laravel/framework": "5.2.*",

Dann renne

    composer update
Luis Fernando Montoya
quelle
Ich habe meine Datei composr.json nicht überprüft.
Naan
3
Diese Antwort muss aktualisiert werden - Laravel ist momentan bei 7.0.
Fresz
Komponist benötigen Laravel / UI funktioniert nicht mit mir
TECNO
80

Update für Laravel 6

Nachdem Laravel 6 veröffentlicht wurde , müssen Sie es installieren laravel/ui.

composer require laravel/ui --dev
php artisan ui vue --auth

Sie können ändern , vuemit , reactwenn Sie in Ihrem Projekt reagiert (siehe Verwenden von React ).

Und dann müssen Sie die Migrationen durchführen und das Frontend kompilieren

php artisan migrate
npm install && npm run dev

Quelle: Laravel-Dokumentation zur Authentifizierung

Möchten Sie schnell loslegen? Installieren Sie das Laravel / UI Composer-Paket und führen Sie php artisan ui vue --auth in einer neuen Laravel-Anwendung aus. Navigieren Sie nach der Migration Ihrer Datenbank mit Ihrem Browser zu http: //your-app.test/register oder einer anderen URL, die Ihrer Anwendung zugewiesen ist. Diese Befehle kümmern sich um das Gerüst Ihres gesamten Authentifizierungssystems!

Hinweis: Nur wenn Sie ein Gerüst verwenden möchten, können Sie das Standardbenutzermodell und den Eloquent-Authentifizierungstreiber verwenden.

Nino
quelle
3
Vielen Dank. Was ist, wenn ich Vue nicht will, nur das Auth-Gerüst?
Amir Asyraf
@AmirAsyraf Ich würde empfehlen, es selbst zu schreiben, die authMiddleware ist nativ, Sie müssen dann nur die Routen schreiben.
Nino
Dies sollte die akzeptierte Antwort sein. Nach dem Hinzufügen von laravel / ui ist der ui:authBefehl verfügbar.
zeljko_a
Vielen Dank. Was ist, wenn ich Vue nicht will, nur das Auth-Gerüst? Verwenden php artisan ui:authSie die Antwort check stackoverflow.com/a/58449383/9978078
Dilip Hirapara
60

In Laravel 6.0 existiert make: auth nicht mehr. Lesen Sie hier mehr

A- Kurzschrift:

Update 18. November: Taylor hat gerade Laravel Installer 2.3.0 veröffentlicht und ein neues "--auth" -Flag hinzugefügt, um ein neues Projekt mit installiertem Authentifizierungsgerüst zu erstellen!

Um das Laravel-Installationsprogramm zu aktualisieren, lesen Sie hier

Das heißt, wir können:

laravel new project --auth

cd project

php artisan migrate

npm install
npm run dev

Dies ist eine Abkürzung von Befehlen in Abschnitt B. Lesen Sie auch hier mehr


B - Details:

Befolgen Sie diese drei Schritte

Schritt 1 - Tun Sie dies zuerst:

laravel new project

cd project

composer require laravel/ui --dev

Hinweis: Das Laravel UI Composer-Paket ist ein neues Erstanbieterpaket, das den UI-Teil eines Laravel-Projekts (Frontend-Gerüst, das normalerweise in früheren Versionen von Laravel enthalten ist) in ein separates Laravel / UI-Paket extrahiert. Das separate Paket ermöglicht es dem Laravel-Team, das UI-Gerüstpaket getrennt vom primären Framework und der Haupt-Laravel-Codebasis zu aktualisieren, zu entwickeln und zu versionieren.

Schritt 2 - Dann machen Sie dies:

php artisan ui bootstrap --auth
php artisan migrate

oder

php artisan ui vue --auth
php artisan migrate

anstatt

php artisan make:auth  ( which works for Laravel 5.8 and older versions )

Weitere Optionen hier

php artisan ui:auth

Der obige Befehl generiert nur die Authentifizierungsrouten, einen HomeController, Authentifizierungsansichten und eine Layoutdatei app.blade.php.

Sie können die Ansichten auch nur generieren mit:

php artisan ui:auth --views

Der Konsolenbefehl fordert Sie auf, das Überschreiben von Authentifizierungsdateien zu bestätigen, wenn Sie den Befehl bereits zuvor ausgeführt haben.

// Generate basic scaffolding...
php artisan ui vue
php artisan ui react

und auch:

// Generate login / registration scaffolding...
php artisan ui vue --auth
php artisan ui react --auth

Um Unterschiede zu sehen, lesen Sie diesen Artikel

Schritt 3 - Dann müssen Sie Folgendes tun:

npm install
npm run dev
panjeh
quelle
4
Sie duplizieren größtenteils nur die Antwort von @ Nino von vor einer Woche.
Ceejayoz
11

In der Laravel 6-Anwendung ist der make:authBefehl nicht mehr vorhanden.

Laravel UI ist ein neues Erstanbieterpaket , das den UI-Teil eines Laravel-Projekts in ein separates Laravel / UI-Paket extrahiert . Das separate Paket ermöglicht es dem Laravel-Team, das UI-Paket getrennt von der Haupt-Laravel-Codebasis zu durchlaufen.

Sie können das laravel/uiPaket über Composer installieren :

composer require laravel/ui

Der ui:authBefehl

Neben dem neuen UI-Befehl enthält das laravel/uiPaket einen weiteren Befehl zum Generieren des Auth-Gerüsts:

php artisan ui:auth

Wenn Sie das ausführen ui:authBefehl, wird es die Auth - Routen, eine generieren Homecontroller , Auth Ansichten und eine app.blade.php Layout - Datei.


Wenn Sie die Ansichten alleine generieren möchten, geben Sie stattdessen den folgenden Befehl ein:

php artisan ui:auth --views

Wenn Sie gleichzeitig das Auth-Gerüst generieren möchten:

php artisan ui vue --auth
php artisan ui react --auth

php artisan ui vue --authMit dem Befehl werden alle für die Authentifizierung erforderlichen Ansichten erstellt und im resources/views/authVerzeichnis abgelegt

Der uiBefehl erstellt auch ein resources/views/layoutsVerzeichnis mit einem Basislayout für Ihre Anwendung. Alle diese Ansichten verwenden das Bootstrap-CSS-Framework. Sie können sie jedoch beliebig anpassen.

Weitere Details folgen. Laravel-News & Dokumentation

Sie müssen einfach diesen zwei Schritten folgen.

composer require laravel/ui
php artisan ui:auth
Dilip Hirapara
quelle
6

Kurz und präzise, ​​alles was Sie tun müssen, ist

composer require laravel/ui --dev

php artisan ui vue --authund dann die migrieren php artisan migrate .

Nur für einen Überblick über die Laravel-Authentifizierung

Die Laravel-Authentifizierungsfunktionen werden mit Guard und Providern geliefert . Guards definieren, wie Benutzer für jede Anforderung authentifiziert werden, während Provider definieren, wie Benutzer aus Ihrem dauerhaften Speicher abgerufen werden.

Datenbanküberlegung - Standardmäßig enthält Laravel ein App \ User Eloquent Model in Ihrem App-Verzeichnis.

Auth-Namespace - App \ Http \ Controllers \ Auth

Controller - RegisterController, LoginController, ForgotPasswordController und ResetPasswordController, alle Namen sind aussagekräftig und leicht zu verstehen!

Routing - Das Laravel / UI-Paket bietet eine schnelle Möglichkeit, alle Routen und Ansichten, die Sie für die Authentifizierung benötigen, mit wenigen einfachen Befehlen (wie am Anfang anstelle von make: auth erwähnt ) zu erstellen .

Sie können jeden neu erstellten Controller deaktivieren, z. B. RegisterController, und Ihre Routendeklaration ändern, z. Weitere Einzelheiten entnehmen Sie bitte der Laravel-Dokumentation .

Zaffar
quelle
1

Diese beiden Befehle funktionieren für mich in meinem Projekt

composer require laravel/ui --dev

Dann

php artisan ui:auth
Mukta
quelle
0

Überprüfen Sie Ihre Laravel- / Framework-Version in Ihrer composer.json-Datei.

Wenn es entweder "^ 6.0" oder höher als "^ 5.9" ist,

Sie müssen php artisan ui:authanstelle von verwenden php artisan make:auth.

Bevor Sie dies verwenden können, müssen Sie neue Abhängigkeiten installieren, indem Sie composer require laravel/ui --devdas aktuelle Verzeichnis aufrufen .

jerome_hanan
quelle