2015-09-08 126 views
1

我想安裝最新的代碼。根據該文檔的最新穩定版本是2.1.2作曲家更新 - 沒有得到最新版本

然而,當我把我的composer.json:

"codeception/codeception": "*", 

我得到承諾b5af3aac061ffaeb65ed023534b3c50558e90d07這是真的老了,不會有一些問題修復。

問題是 - 爲什麼作曲家沒有采取2.1 branch的最新變化以及如何強制它做到這一點?

回答

1

問題是 - 爲什麼作曲家沒有從2.1分支中採取最新的變化以及如何強制它做到這一點?

您需要一個標籤。

標籤(2.1.2/2.1.0)和分支(2.1)之間有區別。標籤是靜態的,而分支是動態的,仍然處於頂端。

當使用*作曲家將計算出最高/最新標籤的版本,並使用它,那2.1.2521adbb2。如果您指定2.1,則會解析爲標記2.1.0,其編號爲b5af3aac061ffa

所以,你可能需要從標籤的使用,而不是分行改變:

"codeception/codeception": "2.1.x-dev"將獲取從分支「2.1」提交「c52a7384a7f60」。

請注意,這是一個移動目標 - 一個開發分支。 它應該可能是一個開發依賴項(但是,這取決於項目)。


composer.json

{ 
    "require-dev": { 
     "codeception/codeception": "2.1.x-dev" 
    } 
} 

composer install

+0

謝謝您的回覆,我會看它的細節後,但爲什麼作曲家'*'或'2.1。*'沒有得到2.1分支的最新提交 - https://github.com/Codeception/Codeception/commits/2.1? –

+0

因爲它將版本解析爲標籤而不是分支。 '*'=最新的標籤= 2.1.2 –

+0

看起來確切的原因是composer.json中的其他作曲家依賴:'「facebook/webdriver」:「〜0.5」'這導致2.1版本的代碼被取代2.1.2 。當我將它改爲'「facebook/webdriver」時:「1。*」'我從https://github.com/Codeception/Codeception/commits/2.1.2獲得2.1.2標籤的最新提交 –