我只是想部署我的应用程序,我只是在我的服务器上运行了 composer update ,我收到了以下错误:
在 PackageManifest.php 第 122 行:未定义索引:名称
我该如何解决这个问题?
小智 137
试试这个,它对我有用,在以下文件中:
vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php
Run Code Online (Sandbox Code Playgroud)
找到这一行并评论它:
$packages = json_decode($this->files->get($path), true);
Run Code Online (Sandbox Code Playgroud)
在上述注释行后添加两个新行:
$installed = json_decode($this->files->get($path), true);
$packages = $installed['packages'] ?? $installed;
Run Code Online (Sandbox Code Playgroud)
小智 105
我有同样的问题,我只是执行命令:
composer update
Run Code Online (Sandbox Code Playgroud)
这将更新 composer.lock 文件。之后,就像一个魅力。
Dav*_*ogo 41
我发现这个问题的作曲家GitHub库,帮助了很多
我按照该问题中显示的表格将我的 Laravel 框架从 5.8 更新到 5.8.38,错误消失了。
这篇Laravel 博客文章也有帮助
如果你不能升级 Laravel,你可以通过运行继续使用 Composer 1
composer self-update --1
Run Code Online (Sandbox Code Playgroud)
小智 40
我有同样的问题。在我的情况下,降级作曲家版本解决了这个问题。他们在 2 天内更新了 Composer 4 次 - 我认为他们的最新更新有问题。就我而言,版本 1.10.1 是要使用的版本。
我希望它会起作用。
小智 24
我遇到了这样的问题,也试过composer self-update --stable,但是没有结果。所以,我发现这个文件是属于 Laravel 框架的。所以下面的命令解决了这个问题:
$ composer 更新 laravel/framework
tru*_*gnm 13
https://github.com/composer/composer/issues/9340#issuecomment-716210369
如此处所述,您的 Laravel 版本可能与 composer 2 冲突
composer update laravel/framework
Run Code Online (Sandbox Code Playgroud)
应该可以解决您的问题:D
Bed*_*ang 12
我最近切换了composer 2.0.8,我的 Laravel 版本是6.20.27
要解决此问题:
删除compose.lock文件
安装依赖项。
composer install
Run Code Online (Sandbox Code Playgroud)
小智 11
解决这个问题最简单的方法是
从项目中删除composer.lock文件。
跑步composer install
Abr*_*mad 10
我面临着同样的问题。我看到我的 Laravel 框架版本是"laravel/framework": "6.0"
所以只需在版本之前加上上限即可开始正常工作。
"laravel/framework": "^6.0"
某些版本的composer会出现此错误,1.10.20版本不会抛出此错误
composer self-update 1.10.20
composer install
Run Code Online (Sandbox Code Playgroud)
小智 5
composer update使用 Laravel 5.7运行我的项目