【问题标题】:Composer update, how do I resolve requirements?Composer 更新,如何解决需求?
【发布时间】:2017-03-29 23:29:37
【问题描述】:

在 Symfony 2.3 和 使用 composer 尝试安装新包时我得到以下信息:

使用包信息加载作曲家存储库更新 依赖项(包括 require-dev) 您的要求不能 解析为一组可安装的软件包。

问题 1 - 请求的包原则/原则捆绑包(锁定在 v1.2.0,要求为 ~1.4)可满足 学说/学说捆绑[v1.2.0] 但这些与您的冲突 要求或最低稳定性。问题 2 - 请求的包学说/缓存(锁定在 v1.3.0,要求为 ~1.6)可以由学说/缓存[v1.3.0] 满足,但这些冲突 符合您的要求或最低稳定性。

安装失败,正在将 ./composer.json 还原为原始文件 内容。

我该如何解决这些问题?

我的 json 文件:

"php": ">=5.3.3",
"symfony/symfony": "2.3.*",
"doctrine/orm": "~2.2,>=2.2.3,<2.5",
"doctrine/dbal": "<2.5",
"doctrine/doctrine-bundle": "~1.4",
"doctrine/cache": "~1.6"
},
    "minimum-stability": "stable",
    "extra": {
        "symfony-app-dir": "app",
        "symfony-web-dir": "web",
        "incenteev-parameters": {
            "file": "app/config/parameters.yml"
        },
        "branch-alias": {
            "dev-master": "2.3-dev"
        }
    }

【问题讨论】:

  • 你能告诉我们你的composer.json吗? minimum-stability 行似乎有问题。也尝试删除它。
  • Tomas 我添加了显示最低稳定性的 json 部分。这是什么意思?我只是从以前的开发人员那里接手这个
  • 谢谢。这意味着如果您使用stable 版本或dev 版本(不稳定)。有默认值"minimum-stability": "stable",,所以你可以删除它。它看起来像是 Symfony 沙箱的 composer.json。您也可以留下branch-alias 部分。删除后发生了什么?
  • @Tomas,我的理解是,通过使用“最低稳定性”需要所有捆绑包都满足最低要求才能拥有一个稳定的项目,这不是正确的吗?强迫你安装稳定包也是如此。
  • 是的,它是默认值,所以你可以省略那行。

标签: symfony composer-php symfony2-easyadmin


【解决方案1】:

如果没有可用的稳定版本,您可以选择安装尚未发布的软件包,方法是在 composer.json 文件的 require 部分之前添加:

// ...

"minimum-stability": "dev",
"prefer-stable": true,
"require": {
    "php": ">=5.5.9",
    "symfony/symfony": "3.1.*",
    "doctrine/orm": "^2.5",
    "doctrine/doctrine-bundle": "^1.6",
    "doctrine/doctrine-cache-bundle": "^1.2",
    "symfony/swiftmailer-bundle": "^2.3",
    "symfony/monolog-bundle": "^2.8",
    "symfony/polyfill-apcu": "^1.0",
    "sensio/distribution-bundle": "^5.0",
    "sensio/framework-extra-bundle": "^3.0.2",
    "incenteev/composer-parameter-handler": "^2.0",
    "symfony/assetic-bundle": "^2.8",
},

// ...

当然,你必须删除其他最低稳定性规则

【讨论】:

  • 什么都没有。我仍然无法安装捆绑包。我要安装的一个是 javiereguiluz/easyadmin-bundle。我得到: 问题 1 - 请求的包学说/学说捆绑(锁定在 v1.2.0,要求为 1.4.*)可以满足学说/学说捆绑 [v1.2.0] 但这些与您的要求或最低要求相冲突-稳定。问题 2 - 结论:不要安装 javiereguiluz/easyadmin-bundle v1.16.1 只能安装以下之一:教义/缓存[1.5.3,v1.3.0]。 - 学说/缓存的安装请求(锁定在 v1.3.0)-> 可以满足学说/缓存[v1.3.0]。
猜你喜欢
  • 2014-01-29
  • 2022-01-05
  • 2015-10-09
  • 1970-01-01
  • 1970-01-01
  • 2018-02-04
  • 2017-10-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多