Laravel 6 中包 tymondesigns/jwt-auth 安装问题

Posted

技术标签:

【中文标题】Laravel 6 中包 tymondesigns/jwt-auth 安装问题【英文标题】:Package tymondesigns/jwt-auth installation problem in Laravel 6 【发布时间】:2020-01-08 21:31:53 【问题描述】:

我安装了一个全新的 Laravel 6 项目。但是,当我尝试通过...安装tymondesigns/jwt-auth 软件包时...

composer require tymon/jwt-auth

composer require tymon/jwt-auth:dev-develop

它显示以下错误。

问题 1 - tymon/jwt-auth dev-develop 的安装请求 -> 可由 tymon/jwt-auth[dev-develop] 满足。 - 结论:移除 laravel/framework v6.0.0 - 结论:不要安装 laravel/framework v6.0.0 - tymon/jwt-auth dev-develop 需要Illumination/http ^5.1 -> 可满足Illuminate/http[5.1.x-dev, 5.2.x-dev, 5.3.x-dev, 5.4.x-dev、5.5.x-dev、5.6.x-dev、5.7.17、5.7.18、5.7.19、5.7.x-dev、5.8.x-dev、v5.1.1、v5.1.13、 v5.1.16、v5.1.2、v5.1.20、v5.1.22、v5.1.25、v5.1.28、v5.1.30、v5.1.31、v5.1.41、v5.1.6、v5.1.8、v5.2.0、 v5.2.19、v5.2.21、v5.2.24、v5.2.25、v5.2.26、v5.2.27、v5.2.28、 v5.2.31、v5.2.32、v5.2.37、v5.2.43、v5.2.45、v5.2.6、v5.2.7、v5.3.0、 v5.3.16、v5.3.23、v5.3.4、v5.4.0、v5.4.13、v5.4.17、v5.4.19、v5.4.27、 v5.4.36、v5.4.9、v5.5.0、v5.5.16、v5.5.17、v5.5.2、v5.5.28、v5.5.33、 v5.5.34、v5.5.35、v5.5.36、v5.5.37、v5.5.39、v5.5.40、v5.5.41、 v5.5.43、v5.5.44、v5.6.0、v5.6.1、v5.6.10、v5.6.11、v5.6.12、v5.6.13、 v5.6.14、v5.6.15、v5.6.16、v5.6.17、v5.6.19、v5.6.2、v5.6.20、v5.6.21、 v5.6.22、v5.6.23、v5.6.24、v5.6.25、v5.6.26、v5.6.27、v5.6.28、 v5.6.29、v5.6.3、v5.6.30、v5.6.31、v5.6.32、v5.6.33、v5.6.34、v5.6.35、 v5.6.36、v5.6.37、v5.6.38、v5.6.39、v5.6.4、v5.6.5、v5.6.6、v5.6.7、 v5.6.8、v5.6.9、v5.7.0、v5.7.1、v5.7.10、v5.7.11、v5.7.15、 v5.7.2、v5.7.20、v5.7.21、v5.7.22、v5.7.23、v5.7.26、v5.7.27、v5.7.28、 v5.7.3、v5.7.4、v5.7.5、v5.7.6、v5.7.7、v5.7.8、v5.7.9、v5.8.0、 v5.8.11、v5.8.12、v5.8.14、v5.8.15、v5.8.17、v5.8.18、v5.8.19、v5.8.2、 v5.8.20、v5.8.22、v5.8.24、v5.8.27、v5.8.28、v5.8.29、v5.8.3、v5.8.30、 v5.8.31、v5.8.32、v5.8.33、v5.8.34、v5.8.35、v5.8.4、v5.8.8、v5.8.9]。 - 不要安装Illuminate/http 5.1.x-dev|不要安装laravel/framework v6.0.0 - 不要安装Illuminate/http 5.2.x-dev|不要安装laravel/framework v6.0.0 - 不要安装Illuminate/http 5.3.x-dev|不要安装laravel/framework v6.0.0 - 不要安装Illuminate/http 5.4.x-dev|不要安装laravel/framework v6.0.0 - 不要安装Illuminate/http 5.5.x-dev|不要安装laravel/framework v6.0.0 - 不要安装Illuminate/http 5.6.x-dev|不要安装laravel/framework v6.0.0 - 不要安装Illuminate/http 5.7.17|不要安装laravel/framework v6.0.0 - 不要安装Illuminate/http 5.7.18|不要安装laravel/framework v6.0.0 - 不要安装Illuminate/http 5.7.19|不要安装laravel/framework v6.0.0 ......................

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

新版本的 JWT 包被标记为 laravel 6!

composer require tymon/jwt-auth:1.0.0-rc.5

【讨论】:

【参考方案2】:

tymondesigns/jwt-auth 包还不支持 Laravel 6

GitHub 上有 PR https://github.com/tymondesigns/jwt-auth/pull/1861 等它关闭

【讨论】:

【参考方案3】:

laravel8:

composer require -w tymon/jwt-auth --ignore-platform-reqs

composer.json


"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": [
    "framework",
    "laravel"
],
"license": "MIT",
"require": 
    "php": "^7.3|^8.0",
    "fideloper/proxy": "^4.4.1",
    "fruitcake/laravel-cors": "^2.0.3",
    "guzzlehttp/guzzle": "^7.0.1",
    "laravel/framework": "^8.0",
    "laravel/passport": "^10.0",
    "laravel/tinker": "^2.5|dev-develop",
    "paragonie/random_compat": "2.*",
    "tymon/jwt-auth": "^1.0"
,
"require-dev": 
    "fakerphp/faker": "^1.9.1",
    "mockery/mockery": "^1.4.2",
    "nunomaduro/collision": "^5.0",
    "phpunit/phpunit": "^9.3.3"
,
"config": 
    "optimize-autoloader": true,
    "preferred-install": "dist",
    "sort-packages": true
,
"extra": 
    "laravel": 
        "dont-discover": []
    
,
"autoload": 
    "psr-4": 
        "App\\": "app/",
        "Database\\Factories\\": "database/factories/",
        "Database\\Seeders\\": "database/seeders/"
    
,
"autoload-dev": 
    "psr-4": 
        "Tests\\": "tests/"
    
,
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": 
    "post-autoload-dump": [
        "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
        "@php artisan package:discover --ansi"
    ],
    "post-root-package-install": [
        "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "@php artisan key:generate --ansi"
    ]


【讨论】:

【参考方案4】:

我正在安装以下内容:

作曲家需要 tymon/jwt-auth "dev-develop"

Laravel 6.* 更新分支开发 - tymon/jwt-auth

【讨论】:

composer require tymon/jwt-auth "dev-develop"

以上是关于Laravel 6 中包 tymondesigns/jwt-auth 安装问题的主要内容,如果未能解决你的问题,请参考以下文章

在 Laravel 中验证 Node 生成的 JWT

无法为 api 路由 laravel 设置 cookie

我不明白 JWT 刷新令牌的行为 (LARAVEL)

laravel jwt 更改令牌过期时间

Laravel 5.5 中忽略了非默认守卫

Laravel + Dingo + JWT + cors 和 OPTIONS 方法