2016-09-16 60 views
2

我有一個我通過作曲家安裝的軟件包,需要guzzlehttp >=6.0。有了這個要求,作曲家選擇安裝6.2.1。允許Composer降級對require的依賴?

我現在試圖要求明確要求6.1.1的依賴項。

我得到以下錯誤: Problem 1 - Can only install one of: guzzlehttp/guzzle[6.1.1, 6.2.1]. - Can only install one of: guzzlehttp/guzzle[6.2.1, 6.1.1]. - Can only install one of: guzzlehttp/guzzle[6.1.1, 6.2.1]. - chargely/chargify-sdk-php v0.1.1 requires guzzlehttp/guzzle 6.1.1 -> satisfiable by guzzlehttp/guzzle[6.1.1]. - Installation request for chargely/chargify-sdk-php ^0.1.1 -> satisfiable by chargely/chargify-sdk-php[v0.1.1]. - Installation request for guzzlehttp/guzzle (locked at 6.2.1) -> satisfiable by guzzlehttp/guzzle[6.2.1].

此外,composer why證實,僅狂飲的那個版本是存在的,因爲我的>=6.0要求。

理論上,使用降級版guzzle時,最初的要求應該是可以的。我如何讓作曲家做到這一點?

+0

你的'composer.json'現在看起來像什麼? –

回答

2

如果你有2個包與併發要求,你可以繞過別名。

在你composer.json,只需添加:

"require": { 
    "guzzlehttp/guzzle": "6.2 as 6.1" 
} 

然後用composer require ...添加新的包。

去檢查more detailed answer瞭解更多。

+0

我很高興有辦法做到這一點,所以謝謝。但遺憾的是,我必須在我的主要composer.json文件中明確地定義這個,當它真的需要安撫我的兩個依賴項時(而不是我的實際項目)。雖然謝謝! – Narcissus