我出现这个错误的情况是:
laravel5.8版本, 需要引入tcpdf, 在运行
composer require tecnickcom/tcpdf
的时候出现了这个错误, 搜到了两个答案, 都是因为composer升级导致的, 但是我不记得我升过级. 借鉴了其中一个方法, 成功引入tcpdf扩展, 现在整合一下两个方法:
1, 改源码
定位错误:
vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php
122行提示没有name这个键, 根据代码提示找到
/vendor/laravel/framework/src/Illuminate/Support/Collection.php
的 mapWithKeys 方法, 加一个兼容, 覆盖原来方法:
public function mapWithKeys(callable $callback)
{
$result = [];
$item = $this->items;
if(isset($item['packages'])){
$item = $item['packages'];
}
foreach ($item as $key => $value) {
$assoc = $callback($value, $key);
foreach ($assoc as $mapKey => $mapValue) {
$result[$mapKey] = $mapValue;
}
}
return new static($result);
}
转自: https://blog.csdn.net/u012368971/article/details/115999493 侵删
2, 降级composer
# composer 降级(要是不能降级,可以尝试root权限运行)
composer self-update --1
# 再次安装,即可!!!
composer install
转自: https://blog.csdn.net/qq_41987531/article/details/109485301#comments_15501894 侵删
上面两个方法亲测有效
文章评论