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

标签 php configuration composer-php hhvm

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

正如预期的那样,简单运行 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 也可以安装依赖项。

所以我想知道是否有办法让我的本地 Composer 始终假设 --ignore-platform-reqs 以便不必键入它。

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

最佳答案

推荐fake the PHP version ,而不是忽视平台要求。添加:

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

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

伪造 PHP 版本和扩展的配置示例:

{
    "config": {
        "platform":{
            "php": "8.1",
            "ext-bcmath": "8.1"
        }
    }
}

有关配置平台部分的更多选项可以在 Composer docs 中找到。 .

更新: 从 v2.3.0 开始,您可以使用环境变量。 请参阅Yakatz' answer

关于php - 运行composer时如何始终使用ignore-platform-reqs标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35273522/

相关文章:

amazon-web-services - 应用程序控制的 session 粘性: enable stickiness on all cookies?

composer-php - composer.json 中的安全 http 标志不起作用

laravel - Composer 自动加载器找不到类

php - 安装 Composer 失败,出现 "The openssl extension is missing"错误

php - 在文件/etc/php5/cli/php.ini 中进行更改时启用 PHP 错误不适用

java - 将数据从php发送到java

java - 如何使用 Spring 将属性值注入(inject)到枚举或普通类的静态属性或方法中?

android 错误或配置对象的误用?

php - Ubuntu 服务器虚拟主机未正确重定向

php - PHP 中的语音识别?