[英]requiring a specific commit of a package - composer seems to be ignoring composer.json requirements
我有以下 composer.json / 要求:
"require": {
"php": ">=7.0",
"ext-mbstring": "*",
"ext-openssl": "*",
"october/rain": "1.0.443",
"october/system": "1.0.443",
"october/backend": "1.0.443",
"october/cms": "1.0.443",
"laravel/framework": "5.5.*",
"wikimedia/composer-merge-plugin": "dev-master#06deb2de8fe46826bbd3880003d2aed1716658b3"
},
完整的 composer.json 可以在https://pastebin.com/SXTeWHgC找到
我在跑:
無論如何,當我做composer update
時,我得到以下
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for wikimedia/composer-merge-plugin dev-master#06deb2de8fe46826bbd3880003d2aed1716658b3 -> satisfiable by wikimedia/composer-merge-plugin[dev-master].
- wikimedia/composer-merge-plugin dev-master requires php >=7.2.0 -> your PHP version (7.1.33) does not satisfy that requirement.
這對我來說沒有任何意義。 wikimedia/composer-merge-plugin dev-master#06deb2de8fe46826bbd3880003d2aed1716658b3不需要 >= 7.2.0 - 它需要 >= 5.3.2。 那么為什么我會收到這個錯誤,我能做些什么呢?
來自作曲家文檔:
注意:此功能具有嚴重的技術限制,因為 composer.json 元數據仍將從您在 hash 之前指定的分支名稱中讀取。 因此,您應該只在開發期間將其用作臨時解決方案來修復暫時性問題,直到您可以切換到標記版本。 Composer 團隊不積極支持此功能,也不會接受與其相關的錯誤報告。
來源: https://getcomposer.org/doc/04-schema.md#package-links
這與您所看到的行為完全一致,該庫的composer.json是紅色的,來自分支的dev-master
HEAD 提交,而不是顯式提交參考。
您可以使用另一個分支,您必須將其作為您自己的 fork 提供(將HEAD
恢復為您想要使用的一個提交)。 或者你可能意識到你正在騎着一匹死馬然后下車......這意味着更新 PHP,作曲家,只需使用composer20
分支。 您聲稱wikimedia/composer-merge-plugin
不適用於 composer 2.x 的說法是錯誤的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.