无法将您的要求解析为一组可安装的程序包.-Laravel 5.7



我试图安装一个包

composer require vinkla/instagram php-http/message php-http/guzzle6-adapter 

我一直收到

Do not run Composer as root/super user! See https://getcomposer.org/root for details                          
Using version ^9.1 for vinkla/instagram                                                                       
Using version ^1.7 for php-http/message                                                                       
Using version ^2.0 for php-http/guzzle6-adapter                                                               
./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                                                                                                   
- nexmo/client 1.6.1 requires php-http/guzzle6-adapter ^1.0 -> satisfiable by php-http/guzzle6-adapter[v1.0.0, v1.1.0, v1.1.1] but these conflict with your requirements or minimum-stability.                          
- nexmo/client 1.6.1 requires php-http/guzzle6-adapter ^1.0 -> satisfiable by php-http/guzzle6-adapter[v1.0.0, v1.1.0, v1.1.1] but these conflict with your requirements or minimum-stability.                          
- nexmo/client 1.6.1 requires php-http/guzzle6-adapter ^1.0 -> satisfiable by php-http/guzzle6-adapter[v1.0.0, v1.1.0, v1.1.1] but these conflict with your requirements or minimum-stability.                          
- Installation request for nexmo/client (locked at 1.6.1) -> satisfiable by nexmo/client[1.6.1].          

Installation failed, reverting ./composer.json to its original content.                                       

我在

php—版本

PHP 7.2.14-1+ubuntu14.04.1+deb.sury.org+1 (cli) (built: Jan 13 2019 10:33:56) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.14-1+ubuntu14.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

composer.json

{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"laravel/framework": "5.7.*",
"intervention/image": "^2.3",
"laravelcollective/remote": "5.7.*",
"doctrine/dbal": "^2.3",
"league/flysystem-sftp": "^1.0",
"laravelcollective/html": "^5.4.0",
"phpseclib/phpseclib": "~2.0",
"htmlmin/htmlmin": "^5.0",
"league/flysystem-aws-s3-v3": "~1.0",
"vinkla/instagram": "^8.0",
"php-http/message": "^1.6",
"php-http/guzzle6-adapter": "^1.1"
},
"require-dev": {
"phpunit/phpunit": "~7.0",
"phpspec/phpspec": "~5.0",
"symfony/dom-crawler": "~3.1",
"symfony/css-selector": "~3.1",
"filp/whoops" : "~2.0"
},
"autoload": {
"classmap": [ "database" ],
"psr-4": {
"App\": "app/"
}
},
"autoload-dev": {
"classmap": [
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php -r "copy('.env.example', '.env');"",
"php artisan key:generate"
],
"post-autoload-dump": [
"Illuminate\Foundation\ComposerScripts::postAutoloadDump",
"@php artisan package:discover"
]
},
"config": {
"preferred-install": "dist"
}
}

有什么我应该检查一下以解决这个问题吗?

通过Composer在项目中要求新包有两种常见方法:更新composer.json或使用命令composer require。看起来你在这里同时做这两件事,而Composer却感到困惑。

当您使用composer require时,Composer通常会使用最新版本。您可以在命令后的屏幕截图中看到这一行:

使用版本^2.0用于php http://guzzle6适配器

^2.0与Instagram包冲突,后者需要^1.1。您可以通过以下两种方法之一解决此问题:

1)手动更新composer.json

指定版本为^1.1composer.json看起来不错,但您不想使用composer require命令进行安装。请使用composer update

您可以在没有任何参数的情况下运行composer update,它将安装任何新的软件包,并更新任何有新版本可用的现有软件包。这可能不是您想要的,因此您可以指定要更新的程序包。在这种情况下,它是你正在安装的:

composer update vinkla/instagram php-http/message php-http/guzzle6-adapter

2)明确require命令中的版本号

您可以使用以下语法在composer require中指定版本要求:vendor/package:[version]因此,您的命令变为:

composer require vinkla/instagram php-http/message php-http/guzzle6-adapter:^1.1

我在一些包上也遇到了这种情况,根据您的错误,您可以指定包版本。这对我有效:

composer require php-http/guzzle6-adapter:^1.1

相关内容

  • 没有找到相关文章

最新更新