abu*_*abu 0 php laravel composer-php
Laravel 项目需要 2 个版本的 PHP 吗?
我正在开发一个 Laravel 项目。我的电脑上有 2 个版本的 PHP。如果我设置 PHP 版本 8.1 并运行 Composer update,我会收到以下错误。
如果我设置 PHP 版本 7.4 并运行 Composer update,我会收到以下错误。
解决办法是什么?
不,它不需要多个 PHP 版本,但您需要保持一致。事实上你的问题Laravel根本不相关。这只是一个composer相关的事情。
对我来说,您似乎首先使用 PHP 8.1 安装了项目并安装了依赖项,现在您想要将目标版本降低到 7.4。但是composer update在 PHP 7.4 上运行将会失败(如您所见),因为它根本无法处理降级已安装的项目以匹配新环境。此外,您的一些依赖项已经在仅 PHP 8 版本中提取(如错误消息所述),并且composer也不处理这种情况。
如果您的目标版本是 7.4 (请注意Laravel 8 是支持 PHP 7 的最后一个版本),那么我建议简单地完全删除vendor/文件夹和composer.lock文件,然后composer install使用 PHP 7.4 运行以使用该版本的项目和依赖项重新设置环境。然后,我会尝试坚持使用 PHP 7.4 版本以供将来的 Composer 调用,以避免类似的问题。
PS:出于这个原因,我个人在我的开发机器上设置了诸如composer56、composer74、 setup 之类的包装器。composer81