未定义类型 Laravel\Passport\HasApiTokens

Joh*_*ann 7 laravel laravel-passport laravel-7

我按照Laravel 文档在 Laravel 中安装 Passport 服务。但是,当我想在用户模型中使用 HasApiToken 时,我收到错误未定义类型“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;
Run Code Online (Sandbox Code Playgroud)

Composer.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"
    },
Run Code Online (Sandbox Code Playgroud)

为什么我会收到此错误?

小智 9

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


小智 1

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

1-通过从配置 app.php 中删除它来更新 laravel/passport 包

跑步

composer require laravel/passportcomposer update

2-安装以下软件包

跑步

composer require guzzlehttp/guzzle

composer require symfony/psr-http-message-bridge