10

试图在 Symfony 2.3 项目中安装KnpGaufretteBundle,我没有运气。问题是:

  1. minimum-stability:stable(在composer.json);
  2. 我需要的捆绑包dev-master仍然是版本。

在 Symfony 文档中阅读此内容令人沮丧:

如果你知道一个很酷的包或 PHP 库仍然需要最低开发稳定性,请与首席开发人员交谈并说服他标记一个稳定的版本。

我不会将整个项目的最低稳定性更改为dev,因为它肯定会造成巨大的混乱 - 我的意思是,我不能并排使用稳定包和开发包吗?

我可能错过了一些关于作曲家的东西吗?


编辑(2013 年 8 月 14 日)

根据下面Sven的回答,我已经编辑了我的composer.json(你可以在这里找到它)并且它开始工作了。无论如何,这是一个部分解决方案,因为内联别名不适用于依赖项 - 所以在我的情况下,我必须首先指定“不稳定”包的所有依赖项,然后一个一个地给它们起别名。

4

2 回答 2

33

只需使用

"knplabs/knp-gaufrette-bundle": "dev-master@dev" 

如果您需要最新的开发版本

您还可以将 minimum-stability 更改为 dev 并添加 "prefer-stable": true ,如下所示:

"minimum-stability": "dev",
"prefer-stable": true,

那么作曲家总是会尝试找到一个稳定的版本,如果没有找到安装开发,所以你的 symfony 包仍然是稳定的。但是在您的情况下,composer 将安装 v0.1.4(knplabs/knp-gaufrette-bundle 的最新稳定版),因此无论如何您都需要 dev-master@dev。prefer-stable 只是对您的一个提示。

于 2013-08-14T11:04:43.603 回答
1

看看别名: http: //getcomposer.org/doc/articles/aliases.md

它们应该允许您以该分支应该是版本标记的逻辑扩展的方式来处理分支(根据定义,该分支始终处于开发中,因为您只能访问最新的提交)。

对于尚未标记的项目,适当的假定标记版本将类似于“0.0.0”。

您应该尝试使用捆绑包的内联别名。

于 2013-08-13T22:09:43.050 回答