运行 composer 时如何始终使用 ignore-platform-reqs 标志?

How to always use ignore-platform-reqs flag when running composer?

在我的本地机器上,我有 php v7.0.3。我的一个项目依赖于 php v5.5.

正如预期的那样,一个简单的 运行 of composer install 崩溃了:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - This package requires php ~5.5 but your PHP version (7.0.3) does not satisfy that requirement.

我知道我可以通过以下方式忽略该平台:

composer install --ignore-platform-reqs

但我经常忘记添加标志。然而,由于应用程序 运行 在 docker 容器中,不匹配的 php 可以安装依赖项。

所以我想知道是否有办法让我的本地作曲家总是假设 --ignore-platform-reqs 而不必输入它。

我喜欢避免设置别名并让它在作曲家配置级别上工作。

建议fake php version,而不是忽略平台要求。添加

"platform":{"php":"5.5"}

到您的 ~/.composer/config.json 或使用 composer config -g -e 进行编辑。

足以伪造 php 版本的配置示例:

{
    "config": {
        "platform":{
            "php":"5.5"
        }
    }
}

虽然它可能有更多的选择。

您可以将 alias composer="composer --ignore-platform-reqs" 添加到您的 .bash_profile,但它会破坏不识别此选项的命令(例如 composer outdated)。

我个人有:

alias composer="composer --ignore-platform-reqs"
alias composer_orig="/usr/local/bin/composer"

因为大多数时候我想要--ignore-platform-reqs,但每次看到

我仍然可以使用composer_orig

[Symfony\Component\Console\Exception\RuntimeException]

The "--ignore-platform-reqs" option does not exist.

在 Windows 上,更新 composer.bat(在 C:\ProgramData\ComposerSetup\bin 下)并将 --ignore-platform-reqs 添加到 composer 命令。

要更新,您可以以管理员身份打开文本编辑器 > Ctrl + O > 打开 composer.bat

如果您不想对所有项目进行全局更改,请创建一个新的 .bat 文件并在 PHPStorm > 设置 > composer 中使用它

Composer v2 中的一项新功能允许您有选择地忽略平台要求。

composer install --ignore-platform-req=php

Composer 已经有一个 --ignore-platform-reqs 选项(注意 reqs 中的 s),但它忽略了所有平台要求,包括 PHP 版本、扩展 (ext-*),以及作曲家插件-api.

新的 --ignore-platform-req 选项可用于设置 Composer 可以忽略的特定要求。