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

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

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.


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

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

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 .


1

Diese beiden Befehle funktionieren für mich in meinem Projekt

composer require laravel/ui --dev

Dann

php artisan ui:auth

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 .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.