【问题标题】:Undefined type Laravel\Passport\HasApiTokens未定义类型 Laravel\Passport\HasApiTokens
【发布时间】:2020-04-29 14:06:36
【问题描述】:

我跟着Laravel docs 在 Laravel 中安装 Passport 服务。但是,当我想在我的用户模型中使用 HasApiToken 时,我收到错误 Undefined type 'Laravel\Passport\HasApiTokens'。

用户.php:

<?php

namespace App;

use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Passport\HasApiTokens;

class User extends Authenticatable
{
    use HasApiTokens, Notifiable;

作曲家.json

{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": [
        "framework",
        "laravel"
    ],
    "license": "MIT",
    "require": {
        "php": "^7.2.5",
        "fideloper/proxy": "^4.2",
        "fruitcake/laravel-cors": "^1.0",
        "guzzlehttp/guzzle": "^6.3",
        "laravel/framework": "^7.0",
        "laravel/passport": "^8.4",
        "laravel/tinker": "^2.0",
        "laravel/ui": "^2.0"
    },

为什么会出现这个错误?

【问题讨论】:

    标签: laravel laravel-7 laravel-passport


    【解决方案1】:

    我有同样的问题。由于某种原因,该软件包未添加到 config/app.php 文件中。我在 config/app.php 中将 Laravel\Passport\PassportServiceProvider::class 添加到我的提供程序,它解决了这个问题。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,通过以下操作解决了:

      1- 更新 laravel/passport 包,然后从配置 app.php 中删除它

      运行

      composer require laravel/passportcomposer update

      2- 安装以下软件包

      运行

      composer require guzzlehttp/guzzle

      composer require symfony/psr-http-message-bridge

      【讨论】:

      • config->app.php 里面没有包。我也遇到同样的问题
      • 安装成功后,laravel 护照包应该会出现在 config 文件夹中
      【解决方案3】:

      您需要重新启动/刷新您的编辑器/IDE。 (它将加载所有更新的文件。)

      【讨论】:

      • 欢迎来到 StackOverflow!在此论坛上向其他人讲话时请考虑您的语气。有些言论在您看来可能微不足道,但可能会被认真对待或视为不礼貌。
      猜你喜欢
      • 2021-05-13
      • 2021-12-20
      • 2018-08-23
      • 2022-12-23
      • 1970-01-01
      • 2021-02-23
      • 2020-08-21
      • 1970-01-01
      • 2022-06-13
      相关资源
      最近更新 更多