2014-10-11 156 views
3

我在Symfony2中製作了項目,並使用composer獲取所有必需的捆綁包。禁用更新的作曲家?

我到了那裏,例如:

"symfony/symfony": "2.5.*", 
"knplabs/knp-snappy-bundle": "dev-master", 
"knplabs/knp-menu-bundle": "~1.1", 
"sonata-project/core-bundle": "*", 

它運作良好,但如果束將被再更新了一個月就壞了。

阻止作曲者更新當前版本包的最佳方法是什麼?我知道 - 我可以提供最新版本,但是可以在哪裏找到它們?

+0

你可以重新提出你的問題,目前還不清楚你問的是/你的問題是什麼。 – 2014-10-11 18:32:06

+2

爲避免破壞,請在包裝的版本規格中保守和特定。也就是說,不要使用「*」或「dev-master」,而是將包限制在更窄的範圍內,比如'「2.5。*」' – 2014-10-11 18:33:07

+0

對不起 - 捆綁更新 – max7773 2014-10-11 18:33:37

回答

1

最好的做法是修復各種標籤的版本,以確保您使用相同的代碼。例如:

"symfony/symfony": "2.5.5" 

爲所有捆綁包設置標籤可能是一項挑剔的工作。 (至少是第一次)。但對於生產中的應用程序,從不依靠開發或主分支機構。之後,例如,您可以在每次symfony發佈後更新這些標籤。

要找到可以使用packagist的標籤,它將比Github更快。例如,對於knp-snappy-bundle

enter image description here

+1

好的,我知道,但是我可以在哪裏獲取所有包的當前版本?現在我有30捆!我搜查了所有? – max7773 2014-10-11 18:36:08

+0

正確...更新了我的答案。 – COil 2014-10-11 18:41:00

+0

@ max7773'composer show --installed'將顯示您安裝了版本的所有供應商的列表 – 2014-10-12 08:22:11

1

我可以提供的當前版本,而是讓他們在哪裏?

是的,你真的應該提供那些。作曲家包(通常)遵循所謂的semantic versioning

也就是說然後是其上composer.org解釋用於指定composer.json版本的基礎:

在編寫你瞄準穩定性,這些都是有問題的:

  • DEV-主
  • *

與semver比較,您通常希望保持在MINOR或PATCH內。只有真正的版本。

使用composer show -i命令可顯示已安裝的軟件包。然後檢查packagist的可用版本,如果它仍然不清楚這個輸出。