Laravel composer 安装出现错误“您的锁定文件不包含一组兼容的软件包,请运行 composer update”

Zee*_*tem 14 php laravel composer-php

我写 Laravel 代码已经有一段时间了。目前,我尝试从 github 克隆一个项目并在本地编辑。我在我的项目目录中安装了 composer 但不包含供应商文件夹,我尝试运行composer install但我给了我这个错误

Your lock file does not contain a compatible set of packages. Please run composer update
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

注意:我试过composer update在以前的克隆上运行,但没有奏效。

Hap*_*tel 21

运行此命令:

composer install --ignore-platform-reqs
Run Code Online (Sandbox Code Playgroud)

或者

composer update --ignore-platform-reqs
Run Code Online (Sandbox Code Playgroud)


小智 13

我用这个命令解决了这个问题:

composer self-update --1
Run Code Online (Sandbox Code Playgroud)

它可能有效,因为在项目开发时,composer 使用的是另一个版本,当将主要版本从 1 更改为 2 时,兼容性被破坏。使用此命令,您可以降级作曲家,并且可能会解决这个问题


M_R*_*R_K 12

免责声明,此解决方案不会解决 PHP 8 项目的问题。

在大多数情况下,这是因为 PHP 8(在我的情况下,GitHub CI 操作自动开始使用 PHP 8,即使我的项目是 php 7.4)

如果您有多个 PHP 安装(例如,同一服务器中的 7.4 和 8),您可以通过这种方式修复它。

指定你的 php 版本是你的 composer.json 文件

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

如果您已经提交了锁定文件,请在将上述行添加到 composer.json 后运行 composer update ,然后提交新的锁定文件。(请注意 composer update 会将您的软件包升级到最新版本)


Sha*_*lam 7

你应该尝试跑步composer update --lock它将更新所有包并重新创建 compose.lock 文件。

您可以删除composer.lock文件并运行composer install这也将重新创建.lock文件。

这解决了我的问题。


chr*_*san 7

我在尝试部署 Laravel 应用程序时遇到了 Github Actions 错误,这可能与 OP 的情况不同,但没有一个建议对我有用。在这里添加我的答案,以防万一其他人遇到与我类似的问题。

我必须-q在 Github Actions 中禁用它,然后看到它抱怨未安装扩展。

确保您的requireComposer 的 php 扩展部分与extensions:您的 github 操作文件中的匹配shivammathur/setup-php@v2,它将再次部署