Composer 无法安装 laravel/socialite 2.0
Composer fails to install laravel/socialite 2.0
作曲家要求laravel/socialite^2.0
因以下错误而失败:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for laravel/socialite 2.0 -> satisfiable by laravel/socialite[v2.0.0].
- Conclusion: remove guzzlehttp/guzzle 6.2.2
- Conclusion: don't install guzzlehttp/guzzle 6.2.2
- laravel/socialite v2.0.0 requires guzzlehttp/guzzle ~4.0 -> satisfiable by guzzlehttp/guzzle[4.0.0, 4.0.1, 4.0.2, 4.1.0, 4.1.1, 4.1.2, 4.1.3, 4.1.4, 4.1.5, 4.1.6, 4.1.7, 4.1.8, 4.2.0, 4.2.1, 4.2.2, 4.2.3, 4.2.4].
- Can only install one of: guzzlehttp/guzzle[4.0.0, 6.2.2].
...
- Can only install one of: guzzlehttp/guzzle[4.2.4, 6.2.2].
- Installation request for guzzlehttp/guzzle (locked at 6.2.2) -> satisfiable by guzzlehttp/guzzle[6.2.2].
Installation failed, reverting ./composer.json to its original content.
Laravel版本为5.3.22
PHP 版本为 7.0.10
github 上的 composer.json of socialite2.0 显示依赖项为 guzzlehttp 5.0/ 6.0。为什么我的安装寻找 guzzlehttp 4.0?
EDIT-1:
我试图通过在 composer.json require-dev 中添加它来强制 guzzlehttp 4.2.4。
但是,我收到以下错误:
Problem 1
- The requested package guzzlehttp/guzzle (locked at 6.2.2, required as 4.2.4) is satisfiable by guzzlehttp/guzzle[6.2.2] but these conflict with your requirements or minimum-stability.
Problem 2
- aws/aws-sdk-php 3.19.23 requires guzzlehttp/guzzle ^5.3.1|^6.2.1 -> satisfiable by guzzlehttp/guzzle[5.3.1, 5.3.2, 5.3.x-dev, 6.2.1, 6.2.2, 6.2.3, 6.3.0, 6.2.x-dev] but these conflict with your requirements or minimum-stability.
- aws/aws-sdk-php 3.19.23 requires guzzlehttp/guzzle ^5.3.1|^6.2.1 -> satisfiable by guzzlehttp/guzzle[5.3.1, 5.3.2, 5.3.x-dev, 6.2.1, 6.2.2, 6.2.3, 6.3.0, 6.2.x-dev] but these conflict with your requirements or minimum-stability.
- aws/aws-sdk-php 3.19.23 requires guzzlehttp/guzzle ^5.3.1|^6.2.1 -> satisfiable by guzzlehttp/guzzle[5.3.1, 5.3.2, 5.3.x-dev, 6.2.1, 6.2.2, 6.2.3, 6.3.0, 6.2.x-dev] but these conflict with your requirements or minimum-stability.
- Installation request for aws/aws-sdk-php (locked at 3.19.23) -> satisfiable by aws/aws-sdk-php[3.19.23].
显然,aws-sdk-php 需要 guzzlehttp 5.3/6.2。 Laravel 5.3 与 socialite 3.0 不兼容。 Socialite 2.0 与 guzzlehttp 5.3/ 6.2 不兼容。
如何解决?
TIA
EDIT-2:
我的 composer.json 有以下内容:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=5.6.4",
"laravel/framework": "5.3.*",
"doctrine/dbal": "^2.5",
"aws/aws-sdk-php-laravel": "~3.0"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~5.0",
"symfony/css-selector": "3.1.*",
"symfony/dom-crawler": "3.1.*"
},
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
]
},
"scripts": {
"post-root-package-install": [
"php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"Illuminate\Foundation\ComposerScripts::postInstall",
"php artisan optimize"
],
"post-update-cmd": [
"Illuminate\Foundation\ComposerScripts::postUpdate",
"php artisan optimize"
]
},
"config": {
"preferred-install": "dist"
}
}
尝试:
composer require laravel/socialite
希望对您有所帮助。
这个问题我有一个想法。
在 composer.lock
中,保存您使用作曲家配置下载的包的散列和版本,此时或其他时间。然后删除这个文件和vendor文件夹,再次执行:
composer require laravel/socialite ^2.0
问题的解决方式如下:原来很简单。因为我还在学习 composer 能做什么,我之前没弄清楚。
在版本中从 ^
更改为 ~
成功了。根据 Mastering Composer - tips & tricks,波浪号 (~
) 和插入符 (^
) 都应允许在包中使用次要版本。但是,似乎“只注意中断更改”优先于允许次要版本。 (至少,这是我得出的结论)。
结果如下:
composer require laravel/socialite:~2.0
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 2 installs, 0 updates, 0 removals
- Installing league/oauth1-client (1.7.0): Downloading (100%)
- Installing laravel/socialite (v2.0.21): Downloading (100%)
Writing lock file
Generating autoload files
> Illuminate\Foundation\ComposerScripts::postUpdate
> php artisan optimize
Generating optimized class loader
Compiling common classes
试试这个:composer require laravel/socialite:~2.0
它对我有用:)
作曲家要求laravel/socialite^2.0
因以下错误而失败:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for laravel/socialite 2.0 -> satisfiable by laravel/socialite[v2.0.0].
- Conclusion: remove guzzlehttp/guzzle 6.2.2
- Conclusion: don't install guzzlehttp/guzzle 6.2.2
- laravel/socialite v2.0.0 requires guzzlehttp/guzzle ~4.0 -> satisfiable by guzzlehttp/guzzle[4.0.0, 4.0.1, 4.0.2, 4.1.0, 4.1.1, 4.1.2, 4.1.3, 4.1.4, 4.1.5, 4.1.6, 4.1.7, 4.1.8, 4.2.0, 4.2.1, 4.2.2, 4.2.3, 4.2.4].
- Can only install one of: guzzlehttp/guzzle[4.0.0, 6.2.2].
...
- Can only install one of: guzzlehttp/guzzle[4.2.4, 6.2.2].
- Installation request for guzzlehttp/guzzle (locked at 6.2.2) -> satisfiable by guzzlehttp/guzzle[6.2.2].
Installation failed, reverting ./composer.json to its original content.
Laravel版本为5.3.22
PHP 版本为 7.0.10
github 上的 composer.json of socialite2.0 显示依赖项为 guzzlehttp 5.0/ 6.0。为什么我的安装寻找 guzzlehttp 4.0?
EDIT-1:
我试图通过在 composer.json require-dev 中添加它来强制 guzzlehttp 4.2.4。
但是,我收到以下错误:
Problem 1
- The requested package guzzlehttp/guzzle (locked at 6.2.2, required as 4.2.4) is satisfiable by guzzlehttp/guzzle[6.2.2] but these conflict with your requirements or minimum-stability.
Problem 2
- aws/aws-sdk-php 3.19.23 requires guzzlehttp/guzzle ^5.3.1|^6.2.1 -> satisfiable by guzzlehttp/guzzle[5.3.1, 5.3.2, 5.3.x-dev, 6.2.1, 6.2.2, 6.2.3, 6.3.0, 6.2.x-dev] but these conflict with your requirements or minimum-stability.
- aws/aws-sdk-php 3.19.23 requires guzzlehttp/guzzle ^5.3.1|^6.2.1 -> satisfiable by guzzlehttp/guzzle[5.3.1, 5.3.2, 5.3.x-dev, 6.2.1, 6.2.2, 6.2.3, 6.3.0, 6.2.x-dev] but these conflict with your requirements or minimum-stability.
- aws/aws-sdk-php 3.19.23 requires guzzlehttp/guzzle ^5.3.1|^6.2.1 -> satisfiable by guzzlehttp/guzzle[5.3.1, 5.3.2, 5.3.x-dev, 6.2.1, 6.2.2, 6.2.3, 6.3.0, 6.2.x-dev] but these conflict with your requirements or minimum-stability.
- Installation request for aws/aws-sdk-php (locked at 3.19.23) -> satisfiable by aws/aws-sdk-php[3.19.23].
显然,aws-sdk-php 需要 guzzlehttp 5.3/6.2。 Laravel 5.3 与 socialite 3.0 不兼容。 Socialite 2.0 与 guzzlehttp 5.3/ 6.2 不兼容。
如何解决?
TIA
EDIT-2:
我的 composer.json 有以下内容:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=5.6.4",
"laravel/framework": "5.3.*",
"doctrine/dbal": "^2.5",
"aws/aws-sdk-php-laravel": "~3.0"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~5.0",
"symfony/css-selector": "3.1.*",
"symfony/dom-crawler": "3.1.*"
},
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
]
},
"scripts": {
"post-root-package-install": [
"php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"Illuminate\Foundation\ComposerScripts::postInstall",
"php artisan optimize"
],
"post-update-cmd": [
"Illuminate\Foundation\ComposerScripts::postUpdate",
"php artisan optimize"
]
},
"config": {
"preferred-install": "dist"
}
}
尝试:
composer require laravel/socialite
希望对您有所帮助。
这个问题我有一个想法。
在 composer.lock
中,保存您使用作曲家配置下载的包的散列和版本,此时或其他时间。然后删除这个文件和vendor文件夹,再次执行:
composer require laravel/socialite ^2.0
问题的解决方式如下:原来很简单。因为我还在学习 composer 能做什么,我之前没弄清楚。
在版本中从 ^
更改为 ~
成功了。根据 Mastering Composer - tips & tricks,波浪号 (~
) 和插入符 (^
) 都应允许在包中使用次要版本。但是,似乎“只注意中断更改”优先于允许次要版本。 (至少,这是我得出的结论)。
结果如下:
composer require laravel/socialite:~2.0
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 2 installs, 0 updates, 0 removals
- Installing league/oauth1-client (1.7.0): Downloading (100%)
- Installing laravel/socialite (v2.0.21): Downloading (100%)
Writing lock file
Generating autoload files
> Illuminate\Foundation\ComposerScripts::postUpdate
> php artisan optimize
Generating optimized class loader
Compiling common classes
试试这个:composer require laravel/socialite:~2.0 它对我有用:)