在 Laravel 7x 上找不到特征“Illuminate\Foundation\Auth\AuthenticatesUsers”

Wan*_*ham 24 php laravel

当我导航到 Laravel 项目的管理员登录页面时,我不明白为什么会出现上述错误。Laravel 版本是 7x。我怎样才能解决这个问题?

在此处输入图片说明

<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;


class LoginController extends Controller
{
    use AuthenticatesUsers;

    /**
     * Where to redirect admins after login.
     *
     * @var string
     */
    protected $redirectTo = '/admin';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest:admin')->except('logout');
    }

    /**
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
     */
    public function showLoginForm()
    {
        return view('admin.auth.login');
    }
}
Run Code Online (Sandbox Code Playgroud)

Sac*_*ndi 45

好的,如果有人遇到此错误,这是因为以下原因:

所有身份验证脚手架都已移至laravel/ui存储库。如果你使用 Laravel 的身份验证脚手架,你应该安装^2.0这个包的发行版,并且这个包应该安装在所有环境中。

因此,要解决该错误,只需在 Laravel 应用程序的根文件夹上运行 composer 命令:

composer require laravel/ui "^2.0"
Run Code Online (Sandbox Code Playgroud)

或者简单地运行:

composer require laravel/ui
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。

  • composer require laravel/ui 这个命令安装的 ui 3 与 laravel 最新 7 不兼容。所以最好安装composer require laravel/ui "^2.0" (3认同)
  • 请检查此答案的发布时间。现在,只有当我们不使用默认的 vue 预设时才需要这个。 (2认同)

Het*_*oto 6

在终端窗口中,执行以下命令:

composer require laravel/ui "^2.0"
Run Code Online (Sandbox Code Playgroud)

然后执行以下命令之一(使用您最喜欢的 JS 框架):

安装 laravel/ui 包后,您可以使用 ui Artisan 命令安装前端脚手架:

php artisan ui vue --auth
Run Code Online (Sandbox Code Playgroud)

重新启动本地开发环境和代码编辑器。