【问题标题】:How to tell composer to ignore php version for a specific package?如何告诉作曲家忽略特定包的 php 版本?
【发布时间】:2018-06-28 21:32:51
【问题描述】:

我似乎无法安装包,因为我需要使用 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 7.0,你希望如何在 PHP 5.6 上使用这个包?
  • 这是一个小包,我想要的功能是 php 5.6 兼容(因为它支持 eloquent 5.4,它与 php 5.6 兼容)据我所知,请参阅 mopo922/laravel-treats

标签: composer-php


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2019-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    • 1970-01-01
    • 2017-06-13
    • 2013-06-28
    • 1970-01-01
    相关资源
    最近更新 更多