我用这个命令更新了 composer :
composer self-update
它被更新到2.0.4版本。然后当我尝试使用以下命令启动我的Laravel项目时:
php artisan serve
我得到这个错误:
In PackageManifest.php line 131:
Undefined index: name
我试着用这个回到老版本的 composer :
composer self-update --rollback
composer被降级到1.9.3版本,但对错误没有帮助,然后我使用以下命令再次更新composer:
composer self-update --stable
但还是得到了同样的错误。
这是PackageManifest.php文件的第131行:
return [$this->format($package['name']) => $package['extra']['laravel'] ?? []];
6条答案
按热度按时间7lrncoxx1#
首先,在使用
composer self-update
之后,您应该再次检查版本。然后,您尝试composer update
。最后,您运行php artisan serve
。7fyelxc52#
问题是Laravel默认供应商软件包之一有一个小错误。
修复此问题的解决方案如下:
这将把composer软件包更新到当前版本laravel的最新版本,这样应该可以解决这个问题。
dw1jzc5e3#
这个问题实际上已经在Laravel中修复了,所以请确保您将Laravel更新到至少6.18.7+或7.6.0+或8.0+
仅供参考,如果您删除 composer 本地文件,它将更新您的所有依赖项,所以这不是一个好主意。
通过运行命令
composer update laravel/framework
应该有希望修复这个问题,而不会导致任何其他问题。如果你不能更新Laravel,那么你最好使用composer self-update --1
降级到Composer 1。如果您使用
illuminate/foundation
而不是laravel/framework
,请确保使用composer update illuminate/foundation
。mbskvtky4#
在Illuminate\Foundation\PackageManifest.php中添加代码到第129行:
cunj1qz15#
备选办法1:
打开供应商/laravel/框架/src/照明/基础/包清单. php
则搜索代码:
插入
备选方案二:
运行命令
tkclm6bt6#
这帮助了我:
使用降级到Composer 1