我当时在我的开发机器上用Homestead开发。我同时承诺了我的composer.lock和composer.json。在这个分支中,为了开发目的,我将Hashid和LaravelDebugBar添加到composer中。在开发机器上一切都很顺利。
有一次,我从主程序中移到我的生产机器上,运行composer update,并得到以下错误:

当我输入php artisan migrate或composer update时,会得到以下错误:
PHP Fatal error: Class 'Vinkla\Hashids\HashidsServiceProvider' not found in /var/www/schedulizer/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php on line 146
[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'Vinkla\Hashids\HashidsServiceProvider' not found我尝试过composer clear-compiled,composer dump-autoload尝试手动要求Hashid包,并删除config/app.php中的违规行并运行composer更新
我检查了服务提供商,它在我的config/app.php中。
发布于 2016-04-27 20:00:51
而不是运行composer update,而是在生产机器上运行composer install;这将绕过Laravel运行的预更新挂钩。
如果它们是开发需求,那么您可以有条件地将它们添加到服务提供者列表中,方法是将它们添加到您的AppServiceProvider中,如下所示:
// AppServiceProvider.php
public function register()
{
/* ... */
if ($this->app->environment('production')) {
// $this->app->register('');
} else {
$this->app->register('Vinkla\Hashids\HashidsServiceProvider');
}
}发布于 2016-04-27 19:57:37
首先,检查Vinkla\Hashids\HashidsServiceProvider是否存在。另外,重复检查所有字母(从文档中复制粘贴名称空间总是更好)。然后尝试运行以下命令:
composer dumpauto
如果没有帮助,请运行以下命令:
composer dumpauto -o
发布于 2017-03-31 03:20:14
我尝试了php artisan config:clear,然后运行了composer update和composer install,但是我得到了相同的错误消息。
在我的例子中,问题在bootstrap/cache/config.php中,所以我手动删除了文件并完成了任务。
https://stackoverflow.com/questions/36899670
复制相似问题