Php artisan make: polecenie auth nie jest zdefiniowane

87

Próbuję uruchomić to polecenie w laravel 5.2, ale nie działa.

php artisan make:auth 

i podpowiada te stwierdzenia.

[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
źródło
ich nie przypomina użycia Illuminate \ Contracts \ Auth \ Authenticator; w AuthenticateUser.php.jak wspomniałem, używam laravel 5.2
naan
Czy próbowałeś composer update?
Yauheni Prakopchyk
tak, tylko zeszłej nocy ..
naan
@YauheniPrakopchyk czy używasz laravel 5.2?
naan
Musi być jakiś problem z twoim istniejącym kodem, musisz spróbować nowej, świeżej instalacji. laravel.com/docs/master/installation . Prawdopodobnie zrozumiałbyś dokładny problem.

Odpowiedzi:

139

Dla Laravel> = 6

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

Źródła : Dokumentacja Laravel do uwierzytelniania

wygląda na to, że nie używasz Laravel 5.2, są to dostępne polecenia make w L5.2 i brakuje Ci czegoś więcej niż tylko polecenie 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.

Upewnij się, że masz tę zależność w pliku composer.json

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

Następnie uruchomić

    composer update
Luis Fernando Montoya
źródło
my mistake.sorry.Nie sprawdziłem mojego pliku composr.json.
naan
3
Ta odpowiedź wymaga aktualizacji - Laravel ma obecnie wersję 7.0.
Fresz
Kompozytor wymaga laravel / ui nie działa ze mną
TECNO
83

Aktualizacja dla Laravel 6

Teraz, gdy Laravel 6 został wydany , musisz zainstalować laravel/ui.

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

Można zmienić vueze reactjeśli używasz React w projekcie (patrz Korzystanie React ).

Następnie musisz wykonać migracje i skompilować frontend

php artisan migrate
npm install && npm run dev

Źródło: Dokumentacja Laravel do uwierzytelniania

Chcesz szybko zacząć? Zainstaluj pakiet laravel / ui Composer i uruchom php artisan ui vue --auth w nowej aplikacji Laravel. Po migracji bazy danych przejdź w przeglądarce do adresu http: //your-app.test/register lub innego adresu URL przypisanego do aplikacji. Te polecenia zajmą się tworzeniem szkieletu całego systemu uwierzytelniania!

Uwaga: to tylko wtedy, gdy chcesz korzystać z rusztowania, możesz użyć domyślnego modelu użytkownika i sterownika uwierzytelniania Eloquent.

Nino
źródło
3
Dzięki. A jeśli nie chcę Vue, tylko rusztowanie autoryzacji?
Amir Asyraf
@AmirAsyraf Poleciłbym napisać to samemu, authoprogramowanie pośredniczące jest natywne, wystarczy wtedy napisać trasy.
Nino,
To powinna być akceptowana odpowiedź. Po dodaniu laravel / ui ui:authpolecenie jest dostępne.
zeljko_a
1
Dzięki. A jeśli nie chcę Vue, tylko rusztowanie autoryzacji? użyj php artisan ui:authodpowiedzi sprawdzającej stackoverflow.com/a/58449383/9978078
Dilip Hirapara
62

W Laravel 6.0 make: auth już nie istnieje. Przeczytaj więcej tutaj

A- Skrót:

Aktualizacja 18 listopada: Taylor właśnie opublikował Laravel Installer 2.3.0 dodał nową flagę „--auth”, aby utworzyć nowy projekt z zainstalowanym szkieletem uwierzytelniania!

Aby zaktualizować instalator laravel, przeczytaj tutaj

Oznacza to, że możemy:

laravel new project --auth

cd project

php artisan migrate

npm install
npm run dev

Co jest skrótem poleceń w sekcji B. Przeczytaj również więcej tutaj


B - Szczegóły:

Wykonaj te trzy kroki

Krok 1 - Najpierw zrób to:

laravel new project

cd project

composer require laravel/ui --dev

Uwaga: Pakiet Laravel UI Composer to nowy pakiet własny, który wyodrębnia część UI projektu Laravel (szkielet frontendowy zwykle dostarczany z poprzednimi wersjami Laravel) do oddzielnego pakietu laravel / ui. Oddzielny pakiet umożliwia zespołowi Laravel aktualizowanie, rozwijanie i wersjonowanie pakietu szkieletowego interfejsu użytkownika niezależnie od podstawowego frameworka i głównej bazy kodu Laravel.

Krok 2 - Następnie zrób to:

php artisan ui bootstrap --auth
php artisan migrate

lub

php artisan ui vue --auth
php artisan migrate

zamiast

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

Więcej opcji tutaj

php artisan ui:auth

Powyższe polecenie wygeneruje tylko trasy uwierzytelniania, HomeController, widoki uwierzytelniania i plik układu app.blade.php.

Możesz także generować widoki tylko za pomocą:

php artisan ui:auth --views

Polecenie konsoli wyświetli monit o potwierdzenie nadpisania plików uwierzytelniania, jeśli polecenie zostało już uruchomione wcześniej.

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

i również:

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

Aby zobaczyć różnice, przeczytaj ten artykuł

Krok 3 - Następnie musisz zrobić:

npm install
npm run dev
panjeh
źródło
4
W dużej mierze kopiujesz odpowiedź @ Nino sprzed tygodnia.
ceejayoz
11

W aplikacji Laravel 6 make:authpolecenie już nie istnieje.

Laravel UI to nowy pakiet własny, który wyodrębnia część interfejsu użytkownika projektu Laravel do osobnego pakietu laravel / ui . Oddzielny pakiet umożliwia zespołowi Laravel iterację pakietu UI niezależnie od głównej bazy kodu Laravel.

Możesz zainstalować laravel/uipakiet przez Composer:

composer require laravel/ui

ui:authpoleceń

Oprócz nowego polecenia interfejsu użytkownika laravel/uipakiet zawiera jeszcze jedno polecenie do generowania szkieletu uwierzytelniania:

php artisan ui:auth

Jeśli uruchomisz ui:authpolecenie, wygeneruje ono trasy uwierzytelniania, kontroler HomeController , widoki uwierzytelniania i plik układu app.blade.php .


Jeśli chcesz samodzielnie wygenerować widoki, wpisz zamiast tego następujące polecenie:

php artisan ui:auth --views

Jeśli chcesz jednocześnie wygenerować rusztowanie uwierzytelniania:

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

php artisan ui vue --authpolecenie utworzy wszystkie widoki potrzebne do uwierzytelnienia i umieści je w resources/views/authkatalogu

uiKomenda będzie również utworzyć resources/views/layoutskatalog zawierający układ bazowy dla aplikacji. Wszystkie te widoki wykorzystują strukturę Bootstrap CSS, ale możesz je dowolnie dostosowywać.

Więcej szczegółów poniżej. laravel-aktualności i dokumentacja

Po prostu musisz wykonać te dwa kroki.

composer require laravel/ui
php artisan ui:auth
Dilip Hirapara
źródło
6

Krótko mówiąc, wszystko, co musisz zrobić, to

composer require laravel/ui --dev

php artisan ui vue --autha następnie migrować php artisan migrate .

Tylko dla przeglądu uwierzytelniania Laravel

Wyposażenie uwierzytelniania laravel pochodzi z Gwardii i dostawców , Straż określić w jaki sposób użytkownicy są uwierzytelniane dla każdego żądania natomiast Providers określić w jaki sposób użytkownicy są pobierane od ciebie pamięci trwałej.

Uwzględnienie bazy danych - Domyślnie Laravel zawiera model App \ User Eloquent w katalogu aplikacji.

Auth Namespace - App \ Http \ Controllers \ Auth

Kontrolery - RegisterController, LoginController, ForgotPasswordController i ResetPasswordController, wszystkie nazwy mają znaczenie i są łatwe do zrozumienia!

Routing - pakiet Laravel / ui zapewnia szybki sposób tworzenia szkieletu wszystkich tras i widoków potrzebnych do uwierzytelniania za pomocą kilku prostych poleceń (jak wspomniano na początku zamiast make: auth ).

Możesz wyłączyć dowolny nowo utworzony kontroler, np. RegisterController i zmodyfikować deklarację trasy, np. Auth :: tours (['register' => false]); Więcej szczegółów można znaleźć w dokumentacji Laravel .

zaffar
źródło
1

Te dwa polecenia działają dla mnie w moim projekcie

composer require laravel/ui --dev

Następnie

php artisan ui:auth
Mukta
źródło
0

Sprawdź swoją wersję laravel / framework w pliku composer.json,

Jeśli ma wartość „^ 6,0” lub wyższą niż „^ 5,9”,

musisz użyć php artisan ui:authzamiast php artisan make:auth.

Przed użyciem musisz zainstalować nowe zależności, wywołując composer require laravel/ui --devbieżący katalog.

Hanan Ratnam
źródło
0

Jeśli używasz wersji laravel> 5, to użyjesz.

composer require laravel/ui --dev **or** composer require laravel/ui

I wtedy

php artisan ui:auth
Siraj Ali
źródło