Laravel - 即使 PHP 版本是必需的,也无法安装包

Mom*_*ndo 1 php version laravel mamp-pro

我在我的项目中安装一些 Composer 包时遇到问题。

Problem 1
    - Installation request for spatie/image-optimizer 1.1.5 -> satisfiable by spatie/image-optimizer[1.1.5].
    - spatie/image-optimizer 1.1.5 requires php ^7.2 -> your PHP version (7.1.14) does not satisfy that requirement.
  Problem 2
    - Installation request for spatie/laravel-feed 2.2.1 -> satisfiable by spatie/laravel-feed[2.2.1].
    - spatie/laravel-feed 2.2.1 requires php ^7.2 -> your PHP version (7.1.14) does not satisfy that requirement.
  Problem 3
    - Installation request for spatie/laravel-newsletter 4.5.0 -> satisfiable by spatie/laravel-newsletter[4.5.0].
    - spatie/laravel-newsletter 4.5.0 requires php ~7.2 -> your PHP version (7.1.14) does not satisfy that requirement.
  Problem 4
    - Installation request for spatie/laravel-referer 1.4.0 -> satisfiable by spatie/laravel-referer[1.4.0].
    - spatie/laravel-referer 1.4.0 requires php ^7.2 -> your PHP version (7.1.14) does not satisfy that requirement.
  Problem 5
    - Installation request for spatie/laravel-sitemap 5.3.0 -> satisfiable by spatie/laravel-sitemap[5.3.0].
    - spatie/laravel-sitemap 5.3.0 requires php ^7.2 -> your PHP version (7.1.14) does not satisfy that requirement.
  Problem 6
    - spatie/image-optimizer 1.1.5 requires php ^7.2 -> your PHP version (7.1.14) does not satisfy that requirement.
    - spatie/image 1.7.2 requires spatie/image-optimizer ^1.0 -> satisfiable by spatie/image-optimizer[1.1.5].
    - Installation request for spatie/image 1.7.2 -> satisfiable by spatie/image[1.7.2].
Run Code Online (Sandbox Code Playgroud)

即使我的 PHP 版本是7.2.1这些包没有通过 composer.json 验证,即无法安装。PHP CLI 版本也是7.2.1如此。(使用标准程序phpinfo()php -v.

我使用MAMP PRO版本4.4.1和最新配置的PHP版本,从上市的版本是7.2.1(这是好的,因为这些包的要求范围从7.17.2

https://github.com/spatie/image-optimizer/blob/master/composer.json#L19

https://github.com/spatie/laravel-newsletter/blob/master/composer.json#L20

https://github.com/spatie/laravel-feed/blob/master/composer.json#L33

https://github.com/spatie/laravel-referer/blob/master/composer.json#L19

https://github.com/spatie/laravel-sitemap/blob/master/composer.json#L19

正如我已经说过的,PHP 版本在 Apache 端和 CLI 端以及 MAMP PRO GUI 上看起来都不错。

PHP 7.2.1 (cli) (built: Jan 15 2018 12:20:50) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies
Run Code Online (Sandbox Code Playgroud)

MAMP PRO 配置:

MAMP PRO 通用配置 1

MAMP PRO 主机相关配置:

MAMP PRO 个人配置 2

将 PHP 升级到7.3版可能会解决这个问题,但我想跳过它,因为它必须在没有 MAMP PRO 帮助的情况下手动完成(因为我的 MAMP PRO 版本已获得许可,我需要另一个许可才能获得内置的PHP版本在里面)。

谢谢!

Tho*_*mas 7

不知道什么原因这只是定义一个定制版本composer.json

{
    "config": {
        "platform": {
            "php": "7.1.14"
        }
    },
Run Code Online (Sandbox Code Playgroud)

要解决此问题,您可以告诉作曲家忽略版本:

composer require spatie/image-optimizer --ignore-platform-reqs
Run Code Online (Sandbox Code Playgroud)