2013-06-27 31 views
7

該項目通過composer.phar install --prefer-source進行設置,並且包含很多保存在git中的模塊。作曲家工作流程:當我更改依賴關係時如何更新composer.lock

我在我的IDE(PhpStorm)中管理所有這些模塊及其git存儲庫,因此可能會對vendor/文件夾中的某些模塊進行一些更改 - 直接發送到源git存儲庫。

我現在怎麼確定我的同事在執行composer.phar installcomposer.lock在回購)時獲取我最近的模塊版本?

如果我做一個本地composer.phar update它看起來像composer.lock沒有更新,因爲我已經有最新的版本(如我剛纔提出直接在vendor文件夾中的承諾)

+0

如果你指向一個標籤,版本將不會改變,作曲家也沒有看到更新它的理由。如果是這種情況,則應在更改軟件包定義時增加版本號。 –

+0

我指向「*」。問題是如何生成更新的'composer.lock' – Alex

+0

未更新,因爲您沒有推送更改。從vendor/dir更改庫後,應將更改推送到遠程。之後,作曲家將檢測新版本並將採取相應措施。我建議使用「dev-develop」或「dev-master」而不是「*」作爲要求,這樣你就可以擁有更多的控制權。 –

回答

4
  1. 提交的變化模塊回購你已經更新。
  2. 將更改推送到所有相應的遠程回購站。
  3. 用適當的版本標記新的更改。
  4. 運行composer update vendor1/package1 vendor2/package2(或者如果您不需要明確,則只需要composer update)。
  5. 提交併推送更新的composer.lock文件。
  6. 您的同事需要更新composer.lock文件並運行composer install(從鎖定文件安裝最新的軟件包版本)。

如您composer.json"vendor/package": "3.5.*"如果指定版本限制,您已標記了新版本像3.6.0你需要一步4.之前相應更新您的composer.json文件。


P.S.您使用--prefer-source這樣的工作流程非常好。請不要在您的composer.json中使用*dev-master版本限制。即使它們處於零主版本範圍(0.X.X),我也會推薦使用版本。