php artisan make:auth命令未定义


87

我试图在laravel 5.2中运行此命令,但是它不起作用。

php artisan make:auth 

并提示这些语句。

[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

他们就像使用Illuminate \ Contracts \ Auth \ Authenticator一样;在AuthenticateUser.php.as我提到我使用laravel 5.2
烤饼

你试过了composer update吗?
Yauheni Prakopchyk,2015年

是的,只是昨晚..
烤饼

@YauheniPrakopchyk您使用laravel 5.2吗?
naan 2015年

您的现有代码必须存在任何问题,您必须尝试全新安装。laravel.com/docs/master/installation。可能您会理解确切的问题。

Answers:


139

对于Laravel> = 6

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

参考:Laravel认证文档

看来您没有使用Laravel 5.2,这些是L5.2中可用的make命令,而您丢失的不仅仅是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.

确保您的composer.json文件中具有此依赖项

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

然后跑

    composer update

我的错误。抱歉。我没有检查我的composr.json文件。
naan 2016年

3
这个答案需要更新-Laravel目前为7.0。
Fresz

作曲家要求laravel / ui与我不兼容
TECNO

83

Laravel 6的更新

现在Laravel 6已发布,您需要安装laravel/ui

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

如果在项目中使用React vuereact则可以进行更改(请参见使用React)。

然后,您需要执行迁移并编译前端

php artisan migrate
npm install && npm run dev

来源:Laravel身份验证文档

想快速上手吗?安装laravel / ui Composer软件包,并在新的Laravel应用程序中运行php artisan ui vue --auth。迁移数据库后,将浏览器导航到 http://your-app.test/register或分配给您的应用程序的任何其他URL。这些命令将帮助您搭建整个身份验证系统!

注意:仅当您要使用脚手架时,才可以使用默认的用户模型和Eloquent身份验证驱动程序。


3
谢谢。如果我不想要Vue,只需要auth脚手架怎么办?
阿米尔·阿瑟拉夫

@AmirAsyraf我建议您自己编写,auth中间件是本地的,您只需要编写路由即可。
尼诺

这应该是公认的答案。添加laravel / ui后,该ui:auth命令可用。
zeljko_a

1
谢谢。如果我不想要Vue,只需要auth脚手架怎么办?使用php artisan ui:auth检查答案stackoverflow.com/a/58449383/9978078
Dilip Hirapara

62

在Laravel 6.0中,make:auth不再存在。在这里阅读更多

A-简写:

11月18日更新: Taylor刚刚发布了Laravel Installer 2.3.0,添加了一个新的“ --auth”标志来创建一个安装了身份验证支架的新项目!

要更新laravel安装程序, 请阅读此处

这意味着我们可以做到:

laravel new project --auth

cd project

php artisan migrate

npm install
npm run dev

这是B节中命令的简写。在此处也可以阅读更多内容


B-详细信息:

请遵循以下三个步骤

步骤1-首先执行以下操作:

laravel new project

cd project

composer require laravel/ui --dev

注意: Laravel UI Composer软件包是一个新的第一方软件包,它将Laravel项目的UI部分(通常与Laravel的早期版本一起提供的前端支架)提取到单独的laravel / ui软件包中。独立的软件包使Laravel团队可以与主要框架和主要的Laravel代码库分开地更新,开发和版本化UI脚手架软件包。

第2步-然后执行以下操作:

php artisan ui bootstrap --auth
php artisan migrate

要么

php artisan ui vue --auth
php artisan migrate

代替

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

这里有更多选择

php artisan ui:auth

上面的命令将只生成身份验证路由,一个HomeController,身份验证视图和一个app.blade.php布局文件。

您还可以仅使用以下方法生成视图:

php artisan ui:auth --views

如果您之前已经运行过命令,那么console命令将提示您确认覆盖身份验证文件。

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

并且:

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

要了解差异,请 阅读本文

步骤3-然后,您需要执行以下操作:

npm install
npm run dev

4
您基本上只是在复制一个星期前的@Nino的答案。
ceejayoz

11

在Laravel 6应用程序中,该make:auth命令不再存在。

Laravel UI是一个新的第一方软件包,它将Laravel项目的UI部分提取到单独的laravel / ui 软件包中。独立的程序包使Laravel团队可以与主要的Laravel代码库分开地迭代UI程序包。

您可以laravel/ui通过composer安装该软件包:

composer require laravel/ui

ui:auth命令

除了新的ui命令之外,该laravel/ui软件包还附带了另一个用于生成auth脚手架的命令:

php artisan ui:auth

如果运行该ui:auth命令,它将生成身份验证路由,一个HomeController身份验证视图和一个app.blade.php布局文件。


如果要单独生成视图,请键入以下命令:

php artisan ui:auth --views

如果要同时生成身份验证支架:

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

php artisan ui vue --auth该命令将创建身份验证所需的所有视图并将其放置在resources/views/auth目录中

ui命令还将创建一个resources/views/layouts目录,其中包含应用程序的基本布局。所有这些视图都使用Bootstrap CSS框架,但是您可以随意自定义它们。

接下来是更多细节。laravel-新闻文档

只需执行以下两个步骤即可。

composer require laravel/ui
php artisan ui:auth

6

简而言之,您需要做的就是

composer require laravel/ui --dev

php artisan ui vue --auth然后迁移 php artisan migrate

仅用于Laravel身份验证概述

Laravel身份验证功能随GuardProviders一起提供Guards定义如何为每个请求对用户进行身份验证,而Providers定义如何从持久性存储中检索用户。

数据库注意事项-默认情况下,Laravel在您的app目录中包含一个App \ User Eloquent模型。

身份验证命名空间-App \ Http \ Controllers \ Auth

控制器-RegisterController,LoginController,ForgotPasswordController和ResetPasswordController,所有名称都有意义且易于理解!

路由-Laravel / ui软件包提供了一种快速的方法来使用一些简单的命令(如开始所述,而不是make:auth)来构架进行身份验证所需的所有路由和视图。

您可以禁用任何新创建的控制器,例如RegisterController并修改您的路由声明,例如Auth :: routes(['register'=> false]);。有关更多详细信息,请查阅Laravel文档


1

这两个命令在我的项目中对我有用

composer require laravel/ui --dev

然后

php artisan ui:auth

0

在composer.json文件中签出您的laravel / framework版本,

如果它是“ ^ 6.0”或高于“ ^ 5.9”,

您必须使用php artisan ui:auth而不是php artisan make:auth

在使用它之前,您必须通过composer require laravel/ui --dev在当前目录中调用来安装新的依赖项 。


0

如果您使用的是laravel> 5版本,则将使用。

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

接着

php artisan ui:auth
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.