Zend Framework 2稳定版本和Doctrine Dev版本 - Composer配置

时间:2012-10-07 08:18:48

标签: php doctrine-orm zend-framework2 composer-php

我尝试获得新发布的Zend Framework 2(2.0.2)的稳定版本,该版本将通过作曲家跟踪稳定版本。

此处的示例将是2.0.3发布时,然后编辑器更新将自动更新。

问题是我正在尝试使用modules.zendframework.com中的DoctrineModule,这需要将最小稳定性设置设置为'dev'。当我这样做时,Zend Framework版本然后更改为2.0.3dev,这不是我想要的。

你们中的任何人都知道如何让dev和stable在同一个作曲家配置中混合在一起吗?

我想要发生的是zendframework / zendframework仅跟踪稳定分支,而作曲家更新返回最新的稳定版(在本例中为2.0.2),而不是dev版本。

这是我的composer.json:


    {
      "minimum-stability":"dev",
      "name": "zendframework/skeleton-application",
      "description": "Skeleton Application for ZF2",
      "license": "BSD-3-Clause",
      "keywords": [
      "framework",
      "zf2"
      ],
      "homepage": "http://framework.zend.com/",
      "require": {
        "php": ">=5.3.3",
        "zendframework/zendframework": "2.*",
        "doctrine/doctrine-module": "dev-master",  
        "doctrine/doctrine-orm-module": "dev-master",
      }
    }

使用@hakre解决方案工作composer.json

因为Doctrine通过composer引入其他依赖,所以最小稳定性必须设置为'dev'。将zendframework require设置为@stable解决了下载开发版本的问题。


      "minimum-stability":"dev",
      "require": {
        "php": ">=5.3.3",
        "zendframework/zendframework": "2.*@stable",
        "doctrine/doctrine-module": "dev-master",  
        "doctrine/doctrine-orm-module": "dev-master"
       }

非常感谢您的回答!

1 个答案:

答案 0 :(得分:3)

参考手册(from minimum-stability):

  

检查每个软件包的所有版本的稳定性,在解决项目依赖项时,将忽略那些不如 minimum-stability 设置稳定的版本。可以在 require require-dev 中完成对给定包的稳定性要求的具体更改(参见package links)。

请告诉我,如果您通过 minimum-stability 将默认值设置为 stable ,然后针对您需要的具体包,请将其标记为 beta dev

{
    "require": {
        "monolog/monolog": "1.0.*@beta",
        "acme/foo": "@dev"
    }
}