laravel/lumen-installer 安装失败:guzzlehttp/guzzle 锁定在 6.3.0
Installation failed for laravel/lumen-installer: guzzlehttp/guzzle locked at 6.3.0
我正在尝试通过命令 composer global require "laravel/lumen-installer"
安装 Lumen,但在终端上抛出以下错误。
Changed current directory to /home/lykos/.config/composer
Using version ^1.0 for laravel/lumen-installer
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Conclusion: don't install laravel/lumen-installer v1.0.2
- Conclusion: don't install laravel/lumen-installer v1.0.1
- Installation request for symfony/console (locked at v4.0.3) -> satisfiable by symfony/console[v4.0.3].
- Conclusion: remove guzzlehttp/guzzle 6.3.0
- Installation request for laravel/lumen-installer ^1.0 -> satisfiable by laravel/lumen-installer[v1.0.0, v1.0.1, v1.0.2].
- Conclusion: don't install guzzlehttp/guzzle 6.3.0
- laravel/lumen-installer v1.0.0 requires guzzlehttp/guzzle ~4.0|~5.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, 5.0.0, 5.0.1, 5.0.2, 5.0.3, 5.1.0, 5.2.0, 5.3.0, 5.3.1, 5.3.2].
- Can only install one of: guzzlehttp/guzzle[4.0.0, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.0.1, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.0.2, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.1.0, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.1.1, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.1.2, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.1.3, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.1.4, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.1.5, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.1.6, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.1.7, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.1.8, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.2.0, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.2.1, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.2.2, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.2.3, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.2.4, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[5.0.0, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[5.0.1, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[5.0.2, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[5.0.3, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[5.1.0, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[5.2.0, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[5.3.0, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[5.3.1, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[5.3.2, 6.3.0].
- Installation request for guzzlehttp/guzzle (locked at 6.3.0) -> satisfiable by guzzlehttp/guzzle[6.3.0].
Installation failed, reverting ./composer.json to its original content.
通过 google 搜索,我尝试这样做 rm -R ~/.composer/vendor/guzzlehttp
但由于没有这样的目录而抛出错误
rm: cannot remove '/home/lykos/.composer/vendor/guzzlehttp': No such
file or directory
我的 ~/.config/composer/composer.json
文件看起来像这样
{
"require": {
"laravel/installer": "^1.5"
}
}
有解决此问题的想法吗?
您应该使用 composer clearcache
然后 运行
清除缓存
composer global require "laravel/lumen-installer"
这主要是因为作曲家缓存了一些包并尝试从缓存中安装所需的包。
尝试使用 composer create-project --prefer-dist laravel/lumen project
安装
希望对您有所帮助。
Taylor 在 v1.0.3 中修复了此问题,但尚未标记,因此您可以安装 dev-master 以获取更新版本:
composer global require laravel/lumen-installer:dev-master
尝试删除全局 ~/.composer
目录。首先安装 lumen/installer
,然后安装 laravel/installer
全局。适合我。
我今天遇到了同样的问题,它是由其他一些全局必需的包引起的,请检查~/.composer/composer.json
。在我的例子中,laravel/install
2.0.1 需要 guzzle
6.0.0,而旧的 lumen/install
需要 guzzle
5.3.2,但 Composer 只能安装一个版本。通过删除该目录中的 lumen 行和 运行 作曲家更新解决了问题。
laravel/lumen-installer v1.0.0 requires guzzlehttp/guzzle
~4.0|~5.0
Installation request for guzzlehttp/guzzle
(locked at 6.3.0
)
这意味着 guzzlehttp/guzzle
根据您的 composer.lock
文件锁定在 6.3.0
",并且您的包裹 (laravel/lumen-installer
) 需要 guzzlehttp/guzzle ~4.0|~5.0
。检查一下通过 grep 6.3.0 ~/.composer/composer.lock
命令。
因此您需要根据建议从 ~/.composer/composer.json
中删除 guzzlehttp/guzzle
:
Conclusion: remove guzzlehttp/guzzle
6.3.0
否则,如果它不存在,您需要删除依赖它的包,或将 laravel/lumen-installer
升级到 v1.0.3(如已建议的那样)。例如
composer global require laravel/lumen-installer:^1.0.3
要查看依赖关系树(使用不同版本的 guzzle
),您可以 运行:
composer global show -t
另请参阅:How to resolve a "Can only install one of:" conflict?
我正在尝试通过命令 composer global require "laravel/lumen-installer"
安装 Lumen,但在终端上抛出以下错误。
Changed current directory to /home/lykos/.config/composer
Using version ^1.0 for laravel/lumen-installer
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Conclusion: don't install laravel/lumen-installer v1.0.2
- Conclusion: don't install laravel/lumen-installer v1.0.1
- Installation request for symfony/console (locked at v4.0.3) -> satisfiable by symfony/console[v4.0.3].
- Conclusion: remove guzzlehttp/guzzle 6.3.0
- Installation request for laravel/lumen-installer ^1.0 -> satisfiable by laravel/lumen-installer[v1.0.0, v1.0.1, v1.0.2].
- Conclusion: don't install guzzlehttp/guzzle 6.3.0
- laravel/lumen-installer v1.0.0 requires guzzlehttp/guzzle ~4.0|~5.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, 5.0.0, 5.0.1, 5.0.2, 5.0.3, 5.1.0, 5.2.0, 5.3.0, 5.3.1, 5.3.2].
- Can only install one of: guzzlehttp/guzzle[4.0.0, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.0.1, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.0.2, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.1.0, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.1.1, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.1.2, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.1.3, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.1.4, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.1.5, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.1.6, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.1.7, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.1.8, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.2.0, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.2.1, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.2.2, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.2.3, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[4.2.4, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[5.0.0, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[5.0.1, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[5.0.2, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[5.0.3, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[5.1.0, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[5.2.0, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[5.3.0, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[5.3.1, 6.3.0].
- Can only install one of: guzzlehttp/guzzle[5.3.2, 6.3.0].
- Installation request for guzzlehttp/guzzle (locked at 6.3.0) -> satisfiable by guzzlehttp/guzzle[6.3.0].
Installation failed, reverting ./composer.json to its original content.
通过 google 搜索,我尝试这样做 rm -R ~/.composer/vendor/guzzlehttp
但由于没有这样的目录而抛出错误
rm: cannot remove '/home/lykos/.composer/vendor/guzzlehttp': No such file or directory
我的 ~/.config/composer/composer.json
文件看起来像这样
{
"require": {
"laravel/installer": "^1.5"
}
}
有解决此问题的想法吗?
您应该使用 composer clearcache
然后 运行
composer global require "laravel/lumen-installer"
这主要是因为作曲家缓存了一些包并尝试从缓存中安装所需的包。
尝试使用 composer create-project --prefer-dist laravel/lumen project
希望对您有所帮助。
Taylor 在 v1.0.3 中修复了此问题,但尚未标记,因此您可以安装 dev-master 以获取更新版本:
composer global require laravel/lumen-installer:dev-master
尝试删除全局 ~/.composer
目录。首先安装 lumen/installer
,然后安装 laravel/installer
全局。适合我。
我今天遇到了同样的问题,它是由其他一些全局必需的包引起的,请检查~/.composer/composer.json
。在我的例子中,laravel/install
2.0.1 需要 guzzle
6.0.0,而旧的 lumen/install
需要 guzzle
5.3.2,但 Composer 只能安装一个版本。通过删除该目录中的 lumen 行和 运行 作曲家更新解决了问题。
laravel/lumen-installer v1.0.0 requires
guzzlehttp/guzzle
~4.0|~5.0
Installation request for
guzzlehttp/guzzle
(locked at6.3.0
)
这意味着 guzzlehttp/guzzle
根据您的 composer.lock
文件锁定在 6.3.0
",并且您的包裹 (laravel/lumen-installer
) 需要 guzzlehttp/guzzle ~4.0|~5.0
。检查一下通过 grep 6.3.0 ~/.composer/composer.lock
命令。
因此您需要根据建议从 ~/.composer/composer.json
中删除 guzzlehttp/guzzle
:
Conclusion: remove
guzzlehttp/guzzle
6.3.0
否则,如果它不存在,您需要删除依赖它的包,或将 laravel/lumen-installer
升级到 v1.0.3(如已建议的那样)。例如
composer global require laravel/lumen-installer:^1.0.3
要查看依赖关系树(使用不同版本的 guzzle
),您可以 运行:
composer global show -t
另请参阅:How to resolve a "Can only install one of:" conflict?