我在运行以前从未发生过的编写器更新时出现此错误。与其为这个安装问一个特定的问题,谁能给我提供这个错误信息的翻译?
Your requirements could not be resolved to an installable set of packages.
Problem 1
- skullyframework/skully-admin v0.1.3 requires symfony/console 2.5.x-dev -> no matching package found.
- skullyframework/skully-admin v0.1.2 requires symfony/console 2.5.x-dev -> no matching package found.
- skullyframework/skully-admin v0.1.1 requires symfony/console 2.5.x-dev -> no matching package found.
- Installation request for skullyframework/skully-admin 0.1.* -> satisfiable by skullyframework/skully-admin[v0.1.1, v0.1.2, v0.1.3].
Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting
see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.
如果有帮助的话,我的作曲家。Json是这样的:
{
"name": "xxx",
"description": "xxx",
"minimum-stability": "stable",
"require-dev": {
"phpunit/phpunit": "3.7.28",
"phpunit/phpunit-selenium": ">=1.2",
"phpunit/dbunit": ">=1.2",
"mikey179/vfsStream": "v1.2.0"
},
"require": {
"phpmailer/phpmailer": "v5.2.7",
"skullyframework/skully": "0.1.*",
"skullyframework/skully-admin": "0.1.*"
},
"autoload": {
"psr-0": {
"App\": "",
"HtmlPlainText" : "library/htmlPlainText"
}
},
"license": "MIT"
}
如果你看一下skullyframework/skully-admin, 0.1版本需要
php: >=5.4
symfony/console: 2.5.x-dev
skullyframework/skully: 0.1.*
请不要依赖symfony/console 2.5.x-dev.
在你的作曲家。Json中明确提到的只下载稳定版本(见minimum-stability标志)。这意味着当查看packagist时,编写器无法解析所需的依赖项。
如果在skullyframework/skullyadmin中他们提到了2.5。*作为依赖,https://packagist.org/packages/symfony/console已经发布的版本,你会下载相同的。
如果出现这样的错误,同样适用于任何包。
在这种情况下,另一种选择是让composer下载开发版本。所以保持
"minimum-stability": "dev"
希望有帮助!
谢谢
您要求翻译错误消息,所以我们开始:
Your requirements could not be resolved to an installable set of packages.
Composer指出,基于包、版本和稳定性级别的需求,它无法在没有矛盾的情况下解决所有这些依赖关系。
Problem 1
- skullyframework/skully-admin v0.1.3 requires symfony/console 2.5.x-dev -> no matching package found.
- skullyframework/skully-admin v0.1.2 requires symfony/console 2.5.x-dev -> no matching package found.
- skullyframework/skully-admin v0.1.1 requires symfony/console 2.5.x-dev -> no matching package found.
- Installation request for skullyframework/skully-admin 0.1.* -> satisfiable by skullyframework/skully-admin[v0.1.1, v0.1.2, v0.1.3].
让我们向后看一下这个细节消息。最后一行列出了所考虑的包的版本。Composer看的是skullyframework/skully-admin
,你要求它是0.1.*
。检测到满足此版本要求的可用版本如下:v0.1.1, v0.1.2, v0.1.3
上面所有的行都列出了每个版本为什么特定的版本不满足要求。
你可能是对的,这些行本身并不能解释为什么一个现有的分支2.5.x-dev
不被认为是"一个匹配的包"。一个提示解释说,尽管分支存在,但由于您的最低稳定性要求,它没有被考虑:稳定的要求会很好。但是:提示已经在那里了,不幸的是隐藏在最后几行,没有人读过:
The package is not available in a stable-enough version according to your minimum-stability setting
然而,这仍然不是一个很好的指针来解释哪里出了问题。
下面的链接将带你到一个声明,声明Composer在2012年7月将最低稳定性从"dev"切换到"stable",并有一个指向Composer文档页面的指针,以及关于最低稳定性只是根包设置的简短讨论。
因此,让主包强制稳定意味着所有子包不能依赖于稳定性低于稳定的包(不包括任何开发版本分支,如2.5.x-dev
)。
然而,将项目的最低稳定性降低到"dev"是一个坏主意,因为这将影响你正在使用的所有包,以及它们的所有依赖项,导致大多数包被安装在开发版本中,如果它们存在,并且在比最后一个稳定版本更新的版本中,但仍然符合版本要求。
Composer有一个设置,试图避免处理所有的包都是开发稳定的,但只处理需要的包:prefer-stable:true
你可以用另一种方式来解决这个问题:你可以显式地在你的根项目中包含"缺失的"开发包,像这样:
"require": {
"symfony/console": "2.5.x-dev"
}
总结论:避免使用不稳定的包装。使用不稳定的软件包