Laravel 6 中未定义 Artisan 命令“make:auth”

Posted

技术标签:

【中文标题】Laravel 6 中未定义 Artisan 命令“make:auth”【英文标题】:Artisan command "make:auth" is not defined in Laravel 6 【发布时间】:2020-01-06 12:16:26 【问题描述】:

我在 Laravel 6 中创建登录/身份验证时遇到问题。我在终端中键入“make: auth”并收到错误“命令”make: auth“似乎未定义”。有解决办法吗?

【问题讨论】:

你试过php artisan make:auth吗? 看起来他们决定现在默认包含所有身份验证 @HarunYilmaz 是的,我试过了 【参考方案1】:

Laravel 8.x

此命令将创建一个新应用程序,其中编译并安装了所有身份验证脚手架:

laravel new kitetail --jet

Laravel 的 laravel/jetstream 包提供了一种快速的方法,可以使用一些简单的命令来构建您需要进行身份验证的所有路由和视图:

composer require laravel/jetstream

// Install Jetstream with the Livewire stack...
php artisan jetstream:install livewire

// Install Jetstream with the Inertia stack...
php artisan jetstream:install inertia

Github: laravel /jetstream

官方文档:Laravel Jetstream Documentation

Laravel 7.x

composer require laravel/ui --dev

php artisan ui vue --auth

Laravel 6.x

Laravel 的 laravel/ui 包 提供了一种快速的方法,可以使用一些简单的命令来搭建您需要进行身份验证的所有路由和视图:

composer require laravel/ui "^1.0" --dev

php artisan ui vue --auth

执行上述命令后,您将获得以下输出:-

Vue scaffolding installed successfully.
Please run "npm install && npm run dev" to compile your fresh scaffolding.
Authentication scaffolding generated successfully.

现在运行此命令后运行此命令,用于 Vue 脚手架

npm install && npm run dev

如果您收到以下错误消息

npm ERR! Your cache folder contains root-owned files, due to a bug in
npm ERR! previous versions of npm which has since been addressed.
npm ERR! 
npm ERR! To permanently fix this problem, please run:
npm ERR!   sudo chown -R 1000:1000 "/home/shiv/.npm"
npm ERR! code EACCES
npm ERR! syscall open

然后授予用户从系统访问 .npm 文件的权限

sudo chown -R 1000:1000 "/home/system_user_name/.npm"

正如我现在清楚地理解的那样,运行 “sudo 命令对 npm 配置很危险”

请查看此威胁以获得更清晰的理解:- npm throws error without sudo

【讨论】:

有什么理由你只是基本上重新发布我的答案? 嗯,先生,真的不是,我只是按照 laravel 的说明进行操作,我遇到了诸如未处理的拒绝错误:EACCES:权限被拒绝之类的问题,所以我正在更新我的答案以获取更多信息。 我不明白为什么我对此投票不赞成,请解释或告诉我删除我的答案? 这是 a) 重复 b) sudo npm install can break things。 感谢先生促使我理解这样一个错误的错误,非常感谢我更新了我的答案。请查看【参考方案2】:

如果您使用的是 laravel 6,请尝试此命令,因为使用此命令 'composer require laravel/ui' 您只能获得 Laravel 7.0 及更高版本,

        composer require laravel/ui "^1.0" --dev

使用通过 Composer 安装 laravel/ui 后,运行以下命令获取 auth 脚手架包,如果使用 vue,则使用以下命令

        php artisan ui vue --auth 

如果使用 bootstrap 则使用下面的一个,

        php artisan ui bootstrap --auth

在新的 Laravel 应用程序中或使用文档。

【讨论】:

【参考方案3】: composer require laravel/ui

php artisan ui bootstrap --auth

npm install --global cross-env

npm install --no-bin-links npm run dev

【讨论】:

解释你的解决方案,这也将使它更容易被接受【参考方案4】:

你可以从 laravel 7 官方仓库复制 composer.json 文件和 app/Exceptions/Handler.php 文件。 回购链接:https://github.com/laravel/laravel

然后运行

composer update

composer  require laravel/ui "^2.0"

php artisan ui vue --auth

【讨论】:

【参考方案5】:
composer require laravel/ui
php artisan ui bootstrap --auth

npm install
npm run dev

【讨论】:

【参考方案6】:

Laravel 6.0 中引入的一个主要变化是删除了php artisan make:auth 命令

基本上,make:auth 命令用于创建身份验证脚手架。概念没有去掉,但实现方式变了

Laravel 6 更新: 新方式

现在借助包添加身份验证支持 (More details)

实现Auth的命令如下:

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

此命令将安装布局视图、注册和登录视图,以及所有身份验证端点的路由。还将生成一个 HomeController 来处理对应用程序仪表板的登录后请求。


注意:如果您的登录和注册页面仅显示纯 html。并且 CSS 没有正确加载然后运行这两个命令:

npm install
npm run dev

【讨论】:

【参考方案7】:

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

1 - 首先执行此操作:

composer require laravel/ui

注意: Laravel UI Composer 包是一个新的第一方包,它将 Laravel 项目的 UI 部分(通常由 Laravel 的早期版本提供的前端脚手架)提取到单独的 laravel/ui 包中。 单独的包使 Laravel 团队能够独立于主框架和 Laravel 主代码库来更新、开发和版本化 UI 脚手架包。

2 - 然后这样做:

php artisan ui:auth

而不是

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

它将生成身份验证路由、HomeController、身份验证视图和 app.blade.php 布局文件。

您也可以只生成视图:

php artisan ui:auth --views

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

更多选项 here

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

【讨论】:

嘿@panjeh,php artisan ui:auth 和 php artisan ui vue 有什么区别?【参考方案8】:

Laravel 版本 6.0

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

这些命令会有所帮助

【讨论】:

这是第三个重复我已经接受的答案。 ?‍♂️【参考方案9】:

看起来 L6 将 Auth 脚手架移动到 a separate package。

https://laravel.com/docs/6.0/authentication

想快速入门吗?安装 laravel/ui Composer 包并在新的 Laravel 应用程序中运行 php artisan ui vue --auth

【讨论】:

@Vipertecpro 你的应用是 Laravel 6 吗? 是的,我是新安装的 @Vipertecpro 并且你做了composer require laravel/ui 来安装 UI?

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

Laravel自定义artisan命令在Sell中运行

在 Laravel artisan 命令中使用详细

Laravel - 在部署自定义 Artisan 命令时未部署 composer.json 文件

Laravel 5.6.17 php artisan 迁移错误与 php 7.2 [重复]

如何使用 Artisan 命令 (PHP) 在 Laravel 5.2 中创建 RESTful 资源控制器

Laravel Artisan 控制台命令无法检索模型集合