我正在尝试以Google App Engine标准运行Laravel。我已经在灵活方面工作了,但是需求改变了,我们现在需要标准。我正在使用Laravel 5.7的PHP 7.2环境。部署有效,但是在尝试访问页面时,我只是在日志中遇到错误:
SymfonyComponentDebugExceptionFatalThrowableError: Class 'WayGeneratorsGeneratorsServiceProvider' not found
at IlluminateFoundationApplication->register (/srv/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:662)
第662行对我而言,至少是return new $provider($this);
,似乎并未明确引用生成器软件包。
发电机软件包似乎是way/generators
,但是当我在本地进行composer require way/generators
时,它会吐出一百万个不同的警告,然后是
> IlluminateFoundationComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
In GeneratorsServiceProvider.php line 58:
Call to undefined method IlluminateFoundationApplication::share()
Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1
从我阅读的laravel> 5中,它不需要发电机软件包,因为它已经包含在内,但由于某种原因,它试图引用它(本地使用artisan serve
可以很好地运行)。我尝试了各种作曲家邮政安装命令,但没有任何帮助。
"post-install-cmd": [
"php artisan cache:clear",
"php artisan optimize:clear",
"php artisan config:clear",
"php artisan config:cache",
"Illuminate\Foundation\ComposerScripts::postInstall",
"php artisan optimize",
"chmod -R 755 bootstrap/cache"
]
正如您在评论中提到的那样,该问题源于使用xethron/migrations-generator
(https://github.com/xethron/migrations-generator),该config/app.php
中需要其他手动服务提供商的手动设置或app/Providers/AppServiceProvider.php
。奇怪的是,它的composer.json
不需要way/generators
,而是包含另一个包含way/generators
文件(?)的软件包。非常奇怪,但是解释了为什么composer install
弄乱了为什么事情变得凌乱。
正如您所做的那样,Nuking这是一个选项或完成手册设置也可能还可以,尽管way/generators
适用于Laravel的较旧版本,并且不一定要期望100%工作。
如果要迁移到laravel 6 删除它并使用它的升级版本。
composer remove --dev "xethron/migrations-generator"
如果这不起作用,请寻找将其集成到代码中的任何ServiceProvider。删除它后,您可以使用:
composer require --dev laracasts/generators