首页 > 解决方案 > 如何告诉作曲家忽略特定包的 php 版本?

问题描述

我似乎无法安装软件包,因为我需要使用 php 5.6 并且最小值为 7。

我试过了

composer require mopo922/laravel-treats --ignore-platform-reqs

  [InvalidArgumentException]
  Could not find package mopo922/laravel-treats at any version matching your PHP version 5.6.32.0

然后我暂时从作曲家文件中删除了平台要求并成功安装,但现在我不能做“作曲家更新”

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
    - mopo922/laravel-treats v2.0.4 requires php >=7.0 -> your PHP version (7.2.1) overridden by "config.platform.php" version (5.6.32) does not satisfy that requirement.
    - mopo922/laravel-treats v2.0.3 requires php >=7.0 -> your PHP version (7.2.1) overridden by "config.platform.php" version (5.6.32) does not satisfy that requirement.
    - mopo922/laravel-treats v2.0.2 requires php >=7.0 -> your PHP version (7.2.1) overridden by "config.platform.php" version (5.6.32) does not satisfy that requirement.
    - mopo922/laravel-treats v2.0.1 requires php >=7.0 -> your PHP version (7.2.1) overridden by "config.platform.php" version (5.6.32) does not satisfy that requirement.
    - mopo922/laravel-treats v2.0.0 requires php >=7.0 -> your PHP version (7.2.1) overridden by "config.platform.php" version (5.6.32) does not satisfy that requirement.
    - mopo922/laravel-treats v2.0.4 requires php >=7.0 -> your PHP version (7.2.1) overridden by "config.platform.php" version (5.6.32) does not satisfy that requirement.
    - Installation request for mopo922/laravel-treats ^2.0 -> satisfiable by mopo922/laravel-treats[v2.0.0, v2.0.1, v2.0.2, v2.0.3, v2.0.4].

作曲家可以以任何方式忽略特定的包吗?

标签: composer-php

解决方案


我在这里看到了三种可能性:

  1. 从中提取您需要的功能mopo922/laravel-treats并直接在您的项目中使用它。如果它只是一个小功能,那么作曲家不包含它应该不会产生很大的影响。它比弄乱版本限制恕我直言要好。
  2. 利用composer update --ignore-platform-reqs
  3. 使用平台配置选项,并假装您拥有 PHP 7。请参阅:How to always use ignore-platform-reqs flag when running composer? 但是,这可能会导致其他问题,例如在安装使用 PHP7 约束的新软件包时,尽管您实际上并不支持它。所以要小心使用它。这与您的开发机器具有 PHP 7 时删除平台要求基本相同。

推荐阅读