簡體   English   中英

需要 package 的特定提交 - 作曲家似乎忽略了 composer.json 要求

[英]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 1.10.19(因為 wikimedia/composer-merge-plugin 不適用於 Composer 2.0)
  • PHP 7.1.33(這是產品服務器所擁有的)

無論如何,當我做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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM