Composer php 翻译作曲家';s错误消息
我在运行composer update时出现了此错误,这在以前从未发生过。没有人会问这个安装的具体问题,有人能给我翻译一下这个错误消息的意思吗Composer php 翻译作曲家';s错误消息,composer-php,Composer Php,我在运行composer update时出现了此错误,这在以前从未发生过。没有人会问这个安装的具体问题,有人能给我翻译一下这个错误消息的意思吗 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 matc
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.
如果您看一下,中的0.1版需要它所需要的
php: >=5.4
symfony/console: 2.5.x-dev
skullyframework/skully: 0.1.*
请不要依赖symfony/console 2.5.x-dev
在composer.json中,您明确提到只下载稳定版本(请参阅最小稳定性标志)。这意味着composer在查看PackageGist时无法解析所需的依赖项
如果在skullyframework/skully admin中,他们提到2.5.*作为已发布版本的依赖项,您将下载相同的版本
如果出现类似这样的错误,这同样适用于任何包
在这种情况下,另一种选择是让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有一个设置,该设置试图避免处理所有处于开发稳定性状态的包,但只处理所需的包:
您可以通过另一种方式解决这个问题:您可以在根项目中显式地包含“缺少的”开发包,如下所示:
{
"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"
}
"require": {
"symfony/console": "2.5.x-dev"
}
一般结论:避免使用不稳定的软件包。而且使用的是不稳定的包。是的,最后我还使用了preferstable:true,但不确定这是否是一个好的解决方案。非常感谢。