【问题标题】:PHP Composer "require" OR condition with version in futurePHP Composer“要求”或条件与将来的版本
【发布时间】:2016-06-07 10:12:04
【问题描述】:

我需要使用尚未发布的错误修复。我可以使用类似的东西吗:

"bower-asset/yii2-pjax": "2.0.6 | dev-master#18a9183d578d81fb9dbb1c604daba48815c3ebd5 as 2.0.5"

"bower-asset/yii2-pjax": "2.0.6 | dev-master as 2.0.5"

在我的composer.json?其中2.0.6 是未来的稳定版本,dev-master#hash 是包含错误修复的提交,现在可在远程仓库 (@master) 中获得。

【问题讨论】:

  • 你试过了吗?你不能用"2.0.6 | dev-master"吗?
  • 是的,但出现错误“在任何版本中都找不到包”。如果我朝着正确的方向前进,我该如何在 composer.json 中配置这样的逻辑?
  • 根据this answer,带hash的版本是正确的。错误消息可能是由于dev master中不存在哈希。

标签: yii2 composer-php


【解决方案1】:

在尝试安装这个包时,我发现它有一个依赖项(感谢lichunqiang)。

这里是如何安装依赖和包:

composer require "fxp/composer-asset-plugin:~1.1.1"
composer require "bower-asset/yii2-pjax:dev-master"

由于某种原因,composer require "bower-asset/yii2-pjax:2.0.6" 不起作用,似乎用于安装 Bower 资产的 Composer 插件 composer-asset-plugin 没有找到任何对应的版本。


当前版本的 Composer 坏了,返回这个错误:

[错误异常]
isset 中的非法偏移类型或为空

您可以通过回滚回到旧版本:

composer self-update --rollback

【讨论】:

  • 感谢您的帮助,我认为这种情况是软件中又一个依赖冲突的特例
  • @itnelo 您是否在全球范围内安装了fxp/composer-asset-plugin:~1.1.1?作曲家和这个包是最新的吗?
  • 由于作曲家资产插件中的这个错误,我现在无法正常工作和测试它:github.com/francoispluchino/composer-asset-plugin/issues/191 这可能是相关的错误,我更愿意等到这个问题得到修复
  • 已经回滚了,谢谢提示。我现在可以使用“bower-asset/yii2-pjax”:“dev-master#18a9183d578d81fb9dbb1c604daba48815c3ebd5 as 2.0.5”。对解决方案感兴趣,如果稳定分支可用,我可以实现自动更新(无需手动编辑 composer.json)
  • 我不知道这是否可能,但我认为这是一个坏主意,您无法确定 2.0.6 会发布还是会完美运行。你最好manage your composer.lock through your Version Control System
猜你喜欢
  • 2020-02-02
  • 2022-01-05
  • 2021-07-25
  • 2020-06-07
  • 2021-09-26
  • 2021-05-27
  • 2017-12-11
  • 2015-09-02
  • 2017-03-22
相关资源
最近更新 更多