Laravel - 即使 PHP 版本是必需的,也无法安装包
Posted
技术标签:
【中文标题】Laravel - 即使 PHP 版本是必需的,也无法安装包【英文标题】:Laravel - Cannot install package even though PHP version is the required one 【发布时间】:2019-12-13 04:50:17 【问题描述】:在我的项目中安装一些作曲家包时遇到问题。
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].
即使我的 PHP 版本是 7.2.1
,这些包也没有通过 composer.json 验证,即无法安装。 PHP CLI 版本也是7.2.1
。 (使用标准程序phpinfo()
和php -v
对它们进行了检查。
我使用的是 MAMP PRO 版本 4.4.1
,列出的最新版本中的可配置 PHP 版本是 7.2.1
(这没关系,因为这些软件包的要求范围从 7.1
到 7.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
MAMP PRO 配置:
MAMP PRO 主机相关配置:
将 PHP 升级到版本 7.3 可能会解决这个问题,但我想跳过它,因为它必须在没有 MAMP PRO 帮助的情况下手动完成(因为我的 MAMP PRO 版本已获得许可,我需要另一个许可证才能获得其中的内置 PHP 版本)。
谢谢!
【问题讨论】:
【参考方案1】:除了composer.json
中的a custom version defined 之外,不确定是什么原因造成的:
"config":
"platform":
"php": "7.1.14"
,
要解决此问题,您可以告诉作曲家忽略版本:
composer require spatie/image-optimizer --ignore-platform-reqs
【讨论】:
以上是关于Laravel - 即使 PHP 版本是必需的,也无法安装包的主要内容,如果未能解决你的问题,请参考以下文章
为啥即使实现了所有必需的方法,Class 也不会确认协议“WCSessionDelegate”错误