最近开始重构之前lumen写的项目,决定使用laravel5.7进行项目重构。
但,参考jwt laravel 官方文档:https://jwt-auth.readthedocs.io/en/develop/laravel-installation/,明显有坑。
按照文档中的安装方法:
composer require tymon/jwt-auth
发现可以正常安装完毕,但是继续往下走,5.4以上版本跳过添加服务,
然后,执行到这一步的时候,发现nothing to do...没有生成任何配置文件。
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"
然后往jwt源码找,\vendor\tymon\jwt-auth\src\Providers\,惊奇发现并没有这个LaravelServiceProvider,而是5.xx旧版的jwt。
遂前往官方github,https://github.com/tymondesigns/jwt-auth
发现作者已经在前几天更新了rc3版本,支持了5.7(好巧。)那为啥不行呢。强制改一波composer.json
"tymon/jwt-auth": "1.0.0-rc.3"
然后命令更新composer
执行
composer update
发现
Problem 1
- The requested package tymon/jwt-auth 1.0.0-rc.3 exists as tymon/jwt-auth[0.1.0, 0.2.0, 0.3.0, 0.3.1, 0.3.10, 0.3.11, 0.3.12, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.3.7, 0.3.8, 0.3.9, 0.4.0, 0.4.1, 0.4.2, 0.4.3, 0.5.0, 0.5.1, 0.5.10, 0.5.11, 0.5.12, 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.5.6, 0.5.7, 0.5.8, 0.5.9, 1.0.0-alpha.2, 1.0.0-alpha.3, 1.0.0-alpha1, 1.0.0-beta.1, 1.0.0-beta.2, 1.0.0-beta.3, 1.0.0-rc.1, 1.0.0-rc.2, 2.0.x-dev, dev-analysis-z4evrk, dev-develop, 1.0.x-dev, dev-master] but these are rejected by your constraint.
没找到rc.3版本,然后想了下当初配置composer的时候用的是中国镜像
然后去官网看了下,镜像站上次更新是在七月份。这当然就找不到rc.3版本的了,遂更新个jp的镜像
composer config -g repos.packagist composer https://packagist.jp
再次
composer update
。成功更新到了jwt 1.0.0-rc.3版本以及其他几个包,
问题解决。
总结:
国内composer镜像站,更新没跟上,切换到jp的镜像站即可。