跳过作曲家PHP的要求

Arm*_*min 98 php versioning composer-php

我们正在使用PHPCI和作曲家.运行PHPCI的服务器在PHP 5.3上.

对于一个项目,我们使用composer添加了Facebook PHP SDK.它需要PHP 5.4.Composer由PHPCI触发并执行.但是因为CI服务器刚刚得到PHP 5.3编写器失败并显示错误消息:

facebook/php-sdk-v4 4.0.9 requires php >=5.4.0 -> no matching package found.
Run Code Online (Sandbox Code Playgroud)

当然,这让我在PHPCI中的构建失败了.

是否有可能跳过此要求?也许通过为composer.json添加一个选项?或者是composer.phar调用的参数?

Arm*_*min 239

我找到了选项:

composer install --ignore-platform-reqs
Run Code Online (Sandbox Code Playgroud)

忽略平台要求(php和ext-packages).


编辑:您可以跳过平台检查,但Composer将根据给定的PHP版本获取包.因此,当您需要在依赖性解析期间使用composer来模拟PHP版本时,您可以(并且应该!)在您的composer.json中使用它:

{
    "config": {
       "platform": {
           "php": "5.6.6"
       }
    }
}
Run Code Online (Sandbox Code Playgroud)

https://getcomposer.org/doc/06-config.md#platform


Luc*_* C. 15

对于许多命令,您可以通过参数“ --ignore-platform-reqs”告诉 composer 绕过 php 版本检查:

composer COMMAND --ignore-platform-reqs
Run Code Online (Sandbox Code Playgroud)

这将绕过 php 版本规范。

请注意该软件可能有效与否:存在 php 版本规范,因为代码中的某处至少需要指定的 php 版本,因此如果您使用该代码,该软件将中断。

  • 正如您的答案所暗示的那样,“--ignore-platform-reqs”并不适用于所有可用命令。 (2认同)