库需要“dev-master”和稳定版本

rom*_*nsh 1 php composer-php

我正在为框架 (atk4/data) 开发附加组件 (atk4/audit)。我的基本情况composer.json是这样的:

{
    "type": "library",
    "name": "atk4/audit",
    "require": {
        "atk4/data": "^1.3",
        "php": ">=5.6.0"
    }
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,如果composer require atk4/audit使用,则安装 atk4/audit[1.0] 和 atk4/data[1.3]。

但是,当尝试使用开发分支时:

{
    "require": {
        "atk4/data": "dev-develop",
        "myaddon/addon": "dev-develop"
    }
}
Run Code Online (Sandbox Code Playgroud)

作曲家回应错误:

Problem 1
  - Installation request for atk4/data dev-develop -> satisfiable by atk4/data[dev-develop].
  - atk4/data dev-develop requires atk4/dsql dev-develop -> satisfiable by atk4/dsql[dev-develop] but these conflict with your requirements or minimum-stability.
Problem 2
  - Installation request for atk4/audit dev-develop -> satisfiable by atk4/audit[dev-develop].
  - atk4/audit dev-develop requires atk4/schema dev-develop -> satisfiable by atk4/schema[dev-develop] but these conflict with your requirements or minimum-stability.
Run Code Online (Sandbox Code Playgroud)

我希望我的库在“稳定”和“开发开发”版本中都可用。我试过composer.json为图书馆设置这样的:

{
    "type": "library",
    "name": "atk4/audit",
    "require": {
        "atk4/data": "dev-develop,^1.3",
        "php": ">=5.6.0"
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用。我在任何地方都没有发现有关此问题的任何提及,我想知道我是否走错了路?

Lou*_*ews 5

使用 Composer 定义不稳定依赖项时,您需要指定最小稳定性。

{
    "require": {
        "atk4/data": "dev-develop",
        "myaddon/addon": "dev-develop"
    },
    "minimum-stability": "dev"
}
Run Code Online (Sandbox Code Playgroud)

您还应该添加"prefer-stable": true,否则所有非版本控制的包composer.json都将更新到不稳定分支。