我的项目一直运行良好,直到最近我运行sudo composer self-update
.作曲家已成功更新,但我无法再迁移(php artisan migrate
)。这是我得到的错误:
PHP Fatal error: Class 'PatchworkUtf8Bootup' not found in /Applications/MAMP/htdocs/ThumbsUp/bootstrap/autoload.php on line 46
我已经运行了composer update
和composer install
,但此错误仍然存在。为什么self-update
后找不到这个类?
我在尝试运行作曲家更新时遇到了类似的问题,但上述解决方案均无效。事实证明,我的 composer.json 中有 2 个需要部分,这实际上是错误的。
"require": {
"laravel/framework": "4.1.*"
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "stable",
"require": {
"barryvdh/laravel-ide-helper": "1.*",
"zizaco/confide": "3.2.x",
"laravelbook/ardent": "dev-master",
"zizaco/entrust": "dev-master"
},
"require-dev": {
"way/generators": "2.*",
"fzaninotto/faker": "1.3.*@dev"
}
将两者结合起来,如下所示解决了我的问题。
"require": {
"laravel/framework": "4.1.*",
"barryvdh/laravel-ide-helper": "1.*",
"zizaco/confide": "3.2.x",
"laravelbook/ardent": "dev-master",
"zizaco/entrust": "dev-master"
},
如果仍有问题,请尝试删除 composer.lock 和供应商目录并运行
mv ~/.composer/cache ~/.composer/cache.bak
清除作曲家缓存并最终运行
sudo composer install
这应该可以解决问题。
在追踪这个问题时,我发现它与我的 composer.json 中的这个问题有关:
"pre-update-cmd": [
"php artisan clear-compiled"
],
我的理论是"清晰编译"不起作用,因为作曲家没有更新。删除它,然后调用composer update
然后重新添加它解决了我的问题。
我遇到了同样的问题,我根据您的配置运行了composer dump-autoload
或php composer.phar dump-autoload
,再次运行作曲家更新并且它起作用了。
我刚刚删除了composer.lock文件,然后运行composer update
它奏效了。