php - 需要一个特定的包提交 - composer 似乎忽略了 composer.json 的要求
问题描述
我有以下 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 元数据仍会从您在哈希之前指定的分支名称中读取。因此,您应该只在开发期间将其用作临时解决方案来修复暂时性问题,直到您可以切换到标记版本。Composer 团队不积极支持此功能,也不会接受与其相关的错误报告。
来源:https ://getcomposer.org/doc/04-schema.md#package-links
这与您所看到的行为完全一致,该库的composer.jsondev-master
从分支的 HEAD 提交而不是显式提交引用是红色的。
推荐阅读
- python - 如何用漂亮的汤提取嵌套的跨度类值?
- mysql - 使用另一列最大值更新
- node.js - 转换猫鼬模式中的属性
- javascript - 如何检查代理是否在 JavaScript 中工作
- javascript - 为什么我不能在 chrome 网上商店中打开带有 html 按钮的选项卡?
- java - ArrayList 跳过索引
- c# - 使用 Linq 访问另一个对象中的对象属性
- c++ - 尝试使用 Ifstream 打开 .txt 文件的 C++ 问题
- javascript - Mocha/Chai TypeError:无法读取未定义的属性“包含”
- android - 手机抖动随机颜色生成器