【问题标题】:Composer: required dependency conflict And version stabilityComposer:需要的依赖冲突和版本稳定性
【发布时间】:2018-01-31 09:55:32
【问题描述】:

我有包 PACK-A,这是其他包(PACK-XPACK-YPACK -Z).

我将所有这些包都包含在我的主项目 PROJ-FUN 中。

这些软件包(PACK-XPACK-YPACK-Z)需要 PACK- 的“~1.0.0”版本A.

现在我将 PACK-A 克隆到版本为“0.10.29”的新存储库,现在我尝试在项目中要求 PACK-A,但出现以下错误:

问题 1

  • VENDOR/PACK-X v1.1.1 需要 VENDOR/PACK-A ^1.0.1 -> 可满足 VENDOR/PACK-X[v1.0.2] 但这些与您的要求或 最小稳定性。
  • ......
  • ......
  • VENDOR/PACK-X ^1.1.1 的安装请求 -> 可满足 供应商/PACK-X[v1.1.1]。

我尝试执行以下操作但徒劳无功:

  • “供应商/包装-A”:“0.10.29 作为 1.1.2”。
  • “供应商/PACK-A”:“dev-master”。
  • “供应商/包装-A”:“@DEV”。
  • 将最低稳定性设置为 dev。
  • 忽略平台要求。

我的项目 JSON:

{
"name": "VENDOR/fun-project",
"description": "VENDOR/FUN APPLICAION",
"license": "proprietary",
"prefer-stable": "true",
"require": {
    "VENDOR/PACK-A": "0.10.29 as 1.1.2@dev",
    "VENDOR/PACK-X": "^1.1",
    "VENDOR/PACK-Y": "^1.1",
    "VENDOR/PACK-Z": "^1.1"
},
"config": {
    "bin-dir": "bin",
    "discard-changes": "true"
},
"repositories": [{
    "type": "git",
    "url": "git@github.com:VENDOR/PACK-A"
}]

}

PACK-XYZ JSON:

{
    "name": "VENDOR / PACK - X",
    "description": "",
    "type": "symfony-bundle",
    "license": "proprietary",
    "require": {
        "VENDOR / PACK - A": "~1.0.0"
    },
    "extra": {
        "branch-alias": {
            "dev-master": "1.1.x-dev"
        }
    },
    "repositories": [{
        "type": "git",
        "url": "https://github.com/VENDOR/PACK-A.git"
    }]
}

任何人都可以帮助如何解决这个问题? 提前谢谢你。

** 参考文献:**

【问题讨论】:

    标签: php github composer-php packages


    【解决方案1】:

    显然,你所有的项目

    • vendor/pack-x
    • vendor/pack-y
    • vendor/pack-z

    依赖

    • vendor/pack-a:~1.0.0

    此处使用的~ 运算符允许在等于或大于1.0.0 且小于1.1.0 的任何版本中安装vendor/pack-a

    此外,您的项目

    • vendor/fun-project

    需要全部

    • vendor/pack-x
    • vendor/pack-y
    • vendor/pack-z

    另外

    • vendor/pack-a:0.10.29 as 1.1.2@dev

    但是,1.1.2@dev 显然与 ~1.0.0 的早期版本要求相冲突。

    尝试将 vendor/fun-project 的内联别名调整为:

    • vendor/pack-a:0.10.29 as 1.0.99

    参考见:

    【讨论】:

    • 我无法控制 PACKs X Y Z,或者说我现在无法更新它们,
    • 那么在vendor/fun-project 中调整您的要求对您有何帮助?
    • 只有当我使用版本为 "^1.0.2" 的旧供应商包时,如果我将 repo URL 更改为版本为 "0.10.29" 为 "1.0. 2" 甚至是 "1.0.99" 很多依赖开始失败。
    猜你喜欢
    • 2015-12-03
    • 2014-09-23
    • 2021-09-26
    • 2011-10-12
    • 2022-10-19
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多