[英]Can't make “composer require laravel/ui --dev” on laravel 6.5.1
[英]Can't require laravel/passport with composer
当我做composer require laravel/passport
,我得到
使用版本 ^5.0 for laravel/passport ./composer.json 已更新 使用包信息加载 composer 存储库 更新依赖项(包括 require-dev) 您的需求无法解析为一组可安装的包。
问题 1 - laravel/passport ^5.0 的安装请求 -> laravel/passport[v5.0.0] 可满足。 - 结论:删除 laravel/framework v5.5.34 - 结论:不要安装 laravel/framework v5.5.34 - laravel/passport v5.0.0 需要照明/加密 ~5.6 -> 可通过照明/加密 [v5.6.0, v5. 6.1、v5.6.2、v5.6.3]。 - 不要安装illuminate/encryption v5.6.0|不要安装laravel/framework v5.5.34-不要安装illuminate/encryption v5.6.1|不要安装laravel/framework v5.5.34-不要安装illumination /encryption v5.6.2|不安装laravel/framework v5.5.34 - 不安装illumination/encryption v5.6.3|不安装laravel/framework v5.5.34 - laravel/framework 的安装请求(锁定在v5.5.34) 5.34,需要 5.5.*) -> 可满足 laravel/framework[v5.5.34]。
安装失败,将 ./composer.json 恢复为其原始内容。
我认为这意味着我的illuminate/encryption
版本与此版本的laravel/passport
不兼容
那是正确的吗? 解决此问题的最佳方法是什么? 我什至不知道如何查看我拥有的illuminate/encryption
版本。 它不会出现在composer show
。
这是我的 composer.json
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=7.0.0",
"fideloper/proxy": "~3.3",
"laravel/framework": "5.5.*",
"laravel/tinker": "~1.0",
"tymon/jwt-auth": "dev-develop"
},
"require-dev": {
"filp/whoops": "~2.0",
"fzaninotto/faker": "~1.4",
"mockery/mockery": "~1.0",
"phpunit/phpunit": "~6.0",
"symfony/thanks": "^1.0"
},
"autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
"extra": {
"laravel": {
"dont-discover": [
]
}
},
"scripts": {
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate"
],
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover"
]
},
"config": {
"preferred-install": "dist",
"sort-packages": true,
"optimize-autoloader": true
}
}
Passport 5.0 依赖于Illuminate
软件包的 5.6 版。 我可以看到你安装了 Laravel 5.5,所以要么将 Laravel 升级到 5.6,要么使用 Passport 的 4.0 分支。
Passport 存储库中composer.json
的"require"
部分已全部指定:
"require": {
"php": ">=7.0",
"firebase/php-jwt": "~3.0|~4.0|~5.0",
"guzzlehttp/guzzle": "~6.0",
"illuminate/auth": "~5.6",
"illuminate/console": "~5.6",
"illuminate/container": "~5.6",
"illuminate/contracts": "~5.6",
"illuminate/database": "~5.6",
"illuminate/encryption": "~5.6",
"illuminate/http": "~5.6",
"illuminate/support": "~5.6",
"league/oauth2-server": "^6.0",
"phpseclib/phpseclib": "^2.0",
"symfony/psr-http-message-bridge": "~1.0",
"zendframework/zend-diactoros": "~1.0"
},
Illuminate
版本号与框架一致,所以 Laravel 5.6 将使用 Illuminate 5.6,5.5 将使用 Illuminate 5.5,等等。
请参阅:升级指南 - 从 5.5 升级到 5.6.0 。
我在使用 Laravel Framework 5.4 时遇到了同样的问题
用低版本的护照解决了
composer require laravel/passport "4.0.3"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.