Laravel PackageManifest.php:未定义索引:名称

新手上路,请多包涵

我只是想部署我的应用程序,我刚刚在我的服务器上运行了 composer update 并且我收到了以下错误:

在 PackageManifest.php 第 122 行:未定义索引:名称

我该如何解决这个问题?

原文由 arety_ 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 455
2 个回答

作为临时修复,试试这个,它对我有用,在以下文件中:

 vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php

找到第 116 行并对其进行注释:

 $packages = json_decode($this->files->get($path), true);

在上述注释行之后添加两个新行:

 $installed = json_decode($this->files->get($path), true);
$packages = $installed['packages'] ?? $installed;

原文由 Pulkit Modi 发布,翻译遵循 CC BY-SA 4.0 许可协议

无需强制升级您的软件包(无论如何不建议在生产环境中运行 composer update )或降级您的 Composer(如果它在版本 2 上)。

如果您的网站需要 Composer v1 进行更新(例如,因为 v2 会导致错误)并且您在全局安装了 v2 版本,那么最快的解决方案是:

步骤1

https://getcomposer.org/download/ 下载最新的稳定版 1.x composer.phar (在手动下载下)。

第2步

将下载的 composer.phar 文件放在项目的根目录中( composer.json 文件所在的位置)。

第 3 步

使用 composer.phar 文件运行您的命令。例子:

 php composer.phar install

原文由 ChimeraTheory 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题