php artisan make:auth 命令未定义

Posted

技术标签:

【中文标题】php artisan make:auth 命令未定义【英文标题】:Php artisan make:auth command is not defined 【发布时间】:2016-04-05 09:06:17 【问题描述】:

我正在尝试在 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吗? 是的,就在昨晚.. @YauheniPrakopchyk 你使用 laravel 5.2 吗? 您的现有代码一定有问题,您必须尝试全新安装。 laravel.com/docs/master/installation 。可能您会理解确切的问题。 【参考方案1】:

对于 Laravel >=6

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

参考:Laravel Documentation for authentication

看起来你没有使用 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 文件。 这个答案需要更新 - Laravel 目前是 7.0。 composer 需要 laravel/ui 不适用于我 使用 Laravel 8.5。谢谢。【参考方案2】:

Laravel 8 更新

laravel/ui 仍然有效,但被视为旧版。考虑使用Laravel Breeze 或Laravel Jetstream。

Laravel 6 更新

现在你需要安装 Laravel 6 is released laravel/ui

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

如果您在项目中使用 React 或 Bootstrap,您可以将 vue 更改为 reactbootstrap(请参阅 Using React)。

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

php artisan migrate
npm install && npm run dev

来源:Laravel Documentation for authentication

想快速入门吗?安装 laravel/ui Composer 包和 在新的 Laravel 应用程序中运行 php artisan ui vue --auth。后 迁移你的数据库,浏览你的浏览器到 http://your-app.test/register 或分配给的任何其他 URL 你的申请。这些命令将负责搭建您的脚手架 整个认证系统!

注意:只有当你想使用脚手架时,你才能使用默认的 User 模型和 Eloquent 身份验证驱动程序。

【讨论】:

谢谢。如果我不想要 Vue,只想要 auth 脚手架怎么办? @AmirAsyraf 我建议你自己写,auth 中间件是原生的,你只需要写路由。 这应该是公认的答案。添加 laravel/ui 后,ui:auth 命令可用。 谢谢。如果我不想要 Vue,只想要 auth 脚手架怎么办?使用php artisan ui:auth检查答案***.com/a/58449383/9978078 @Nino 你错过了引导参数。喜欢php artisan ui bootstrap --auth【参考方案3】:

在 Laravel 6.0 中 make:auth 不再存在。 Read more here

A- 简写:

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

更新 laravel 安装程序 read here

这意味着我们可以做到:

laravel new project --auth

cd project

php artisan migrate

npm install
npm run dev

这是 B 节中命令的简写。Also read more here


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 )

更多选项 here

php artisan ui:auth

上述命令将只生成 auth 路由、HomeController、auth 视图和 app.blade.php 布局文件。

您也可以只生成视图:

php artisan ui:auth --views

如果您之前已经运行过该命令,控制台命令将提示您确认覆盖身份验证文件。

// 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

查看差异 read this article

第 3 步 - 然后你需要做:

npm install
npm run dev

【讨论】:

您基本上只是在复制一周前@Nino 的回答。【参考方案4】:

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

Laravel UI 是一个新的第一方包,它将 Laravel 项目的 UI 部分提取到一个单独的 laravel/ui 包中。单独的包使 Laravel 团队能够独立于 Laravel 主代码库对 UI 包进行迭代。

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

composer require laravel/ui

ui:auth 命令

除了新的 ui 命令之外,laravel/ui 包还附带了另一个用于生成身份验证脚手架的命令:

php artisan ui:auth

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


如果您想单独生成视图,请输入以下命令:

php artisan ui:auth --views

如果要同时生成auth脚手架:

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-news & documentation

您只需遵循这两个步骤。

composer require laravel/ui
php artisan ui:auth

【讨论】:

【参考方案5】:

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

composer require laravel/ui --dev

php artisan ui vue --auth,然后是 migrate php artisan migrate

只是对 Laravel 身份验证的概述

Laravel 身份验证工具带有 GuardProvidersGuards 定义用户如何为每个请求进行身份验证,而 Providers 定义如何从您的持久存储中检索用户。

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

Auth 命名空间 - App\Http\Controllers\Auth

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

Routing - Laravel/ui 包提供了一种快速的方法,可以使用一些简单的命令(如开头所述,而不是 ma​​ke:auth )。

您可以禁用任何新创建的控制器,例如。 G。 RegisterController 并修改您的路由声明,例如 Auth::routes(['register' => false]); 更多详情请查看Laravel Documentation。

【讨论】:

【参考方案6】:

如果您使用 >5 版本的 laravel,那么您将使用。

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

然后

php artisan ui:auth

【讨论】:

【参考方案7】:

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

composer require laravel/ui --dev

然后

php artisan ui:auth

【讨论】:

【参考方案8】:

在您的 composer.json 文件中检查您的 laravel/framework 版本,

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

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

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

【讨论】:

【参考方案9】:

以下 CLI 命令通常用于设置 Laravel 6.x、7x、8.x 版本:

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

【讨论】:

koustav 请在您的答案中添加支持的 Laravel 版本。谢谢。 @Kamlesh Laravel 6.x、7x、8.x【参考方案10】:

你可以使用 laravel/breeze

composer require laravel/breeze --dev

然后

php artisan breeze:install

然后

npm install

您可以查看documentation

【讨论】:

以上是关于php artisan make:auth 命令未定义的主要内容,如果未能解决你的问题,请参考以下文章

命令“make:auth”未定义laravel 6 [重复]

使用php artisan app后的Laravel5.5:未找到名称类

php artisan route:list RuntimeException 会话存储未按请求设置

PhpStorm:运行 php artisan serve 未定义索引:REQUEST_URI [重复]

Laravel 项目在 Ubuntu 16.04 上未运行 php artisan serve 时无法运行

php artisan 抛出 FatalErrorException 类未找到