我在一個新項目和Symfony 2依賴使用作曲家相當泡菜。作曲家,最小的穩定性和依賴的依賴關係
首先,我使用作曲家安裝symfony/framework-standard-edition v2.1.5。這產生了具有這些要求並且沒有最小穩定性節點的作曲家文件。
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.*",
"doctrine/orm": ">=2.2.3,<2.4-dev",
"doctrine/doctrine-bundle": "1.0.*",
"twig/extensions": "1.0.*@dev",
"symfony/assetic-bundle": "2.1.*",
"symfony/swiftmailer-bundle": "2.1.*",
"symfony/monolog-bundle": "2.1.*",
"sensio/distribution-bundle": "2.1.*",
"sensio/framework-extra-bundle": "2.1.*",
"sensio/generator-bundle": "2.1.*",
"jms/security-extra-bundle": "1.2.*",
"jms/di-extra-bundle": "1.1.*",
"kriswallsmith/assetic": "1.1.*@dev"
},
這工作正常,它安裝所有最新的穩定版本,就像它應該。
接下來,我添加束 - >https://packagist.org/packages/kunstmaan/admin-bundle
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.*",
"doctrine/orm": ">=2.2.3,<2.4-dev",
"doctrine/doctrine-bundle": "1.0.*",
"twig/extensions": "1.0.*@dev",
"symfony/assetic-bundle": "2.1.*",
"symfony/swiftmailer-bundle": "2.1.*",
"symfony/monolog-bundle": "2.1.*",
"sensio/distribution-bundle": "2.1.*",
"sensio/framework-extra-bundle": "2.1.*",
"sensio/generator-bundle": "2.1.*",
"jms/security-extra-bundle": "1.2.*",
"jms/di-extra-bundle": "1.1.*",
"kriswallsmith/assetic": "1.1.*@dev",
"kunstmaan/admin-bundle": "dev-master"
},
該捆綁在 「DEV-主」(https://packagist.org/packages/doctrine/doctrine-fixtures-bundle)
取決於 「教義/學說-夾具束」 這束取決於(https://packagist.org/packages/doctrine/data-fixtures)
現在,當我在項目中運行composer update時,它告訴我沒有任何東西可以滿足doctrine/data-fixtures的依賴關係。無論是名稱中的拼寫錯誤,還是沒有可用的「穩定」版本,因爲最小穩定性默認爲穩定。
它確實希望在「dev」穩定性中安裝doctrine-fixtures-bundle,因爲dev-master會自動將此依賴關係置於「dev」穩定性中。但是這對於這個dep的代價沒有任何影響,他們一直希望安裝穩定,因爲這是我的最低穩定性。
在這一點上,我可以通過在項目中添加doctrine/data-fixtures:dev-master或者@dev到我的composer.json來解決這個問題。
但是,因爲這只是一個例子(knpmenubundle,fosuserbundle等等),我將不得不手動去添加所有deps,不安裝到我自己的作曲文件。
另一種解決辦法下探我的項目到dev的最小穩定性,但當時我所有的DEPS,包括穩定的像Symfony2中,將安裝自己的開發版本,而不是標籤的釋放。