composer install -n --ignore-platform-reqs 不忽略 PHP 扩展

Nee*_*ela 3 drupal composer-php circleci

我们有运行的 circle build,composer install -n --ignore-platform-reqs --no-dev但这不再忽略平台要求。

这是我在圈子日志中看到的。该--ignore-platform-reqs显然是行不通的。任何想法为什么请?

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

  Problem 1
    - Installation request for drupal/core 8.6.13 -> satisfiable by drupal/core[8.6.13].
    - drupal/core 8.6.13 requires ext-pdo * -> the requested PHP extension pdo is missing from your system.
  Problem 2
    - typo3/phar-stream-wrapper v2.1.0 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - typo3/phar-stream-wrapper v2.1.0 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - Installation request for typo3/phar-stream-wrapper v2.1.0 -> satisfiable by typo3/phar-stream-wrapper[v2.1.0].
Run Code Online (Sandbox Code Playgroud)

rob*_*006 9

与其使用--ignore-platform-reqsprovide破解,不如使用platform设置来模拟您的环境- 它可以让您更好地控制平台要求,并且比provide(您的包并没有真正提供ext-fileinfo)更直观:

"config": {
    "platform": {
        "php": "7.2.14",
        "ext-fileinfo": "1.0.5",
        "ext-pdo": "7.2.14",
        "ext-session": "7.2.14",
        "ext-iconv": "7.2.14",
        "ext-zip": "1.15.4"
    }
},
Run Code Online (Sandbox Code Playgroud)

通过在生产环境中调用此命令,您可能会找到扩展的实际版本(尽管您可能会为扩展版本添加任何内容 - 除了*作为 PHP 扩展的约束之外,使用任何内容都非常罕见):

composer show -p
Run Code Online (Sandbox Code Playgroud)