Composer php 翻译作曲家';s错误消息

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

我在运行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 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,但不确定这是否是一个好的解决方案。非常感谢。