PHP致命错误:找不到类'Vinkla \ Hashids \ HashidsServiceProvider'

时间:2016-04-27 19:54:54

标签: php laravel composer-php

我正在使用Homestead开发我的开发机器。我同意了composer.lockcomposer.json。在此分支期间,我将HashidLaravelDebugBar添加到作曲家以进行开发。一切都在开发机器上运行良好。

一旦我从master移到我的生产机器,然后运行composer update,我收到以下错误:

enter image description here

当我输入php artisan migratecomposer 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-compiledcomposer dump-autoload尝试手动要求Hashid包,并删除config/app.php中的违规行并运行composer update

我检查了服务提供商,它位于我的config/app.php ..

3 个答案:

答案 0 :(得分:1)

而不是运行composer install,而是在生产计算机上运行// AppServiceProvider.php public function register() { /* ... */ if ($this->app->environment('production')) { // $this->app->register(''); } else { $this->app->register('Vinkla\Hashids\HashidsServiceProvider'); } } ;这将绕过Laravel运行的更新前挂钩。

Source

如果它们是开发者要求,那么您可以通过将它们添加到您的AppServiceProvider来有条件地将它们添加到您的服务提供者列表中,如下所示:

var randomColor = function() {
    return '#' + Math.random().toString(16).slice(2, 8);
}

var canvas = document.getElementById("canvas")
var ctx = canvas.getContext("2d")
color = randomColor();

var height = window.innerHeight
var width = window.innerWidth

canvas.width = width
canvas.height = height

var mouse = {};

var circle_count = 10;
var circles = [];

var generate = function() {
    for (var i = 0; i < circle_count; i++) {
        circles.push(new circle());
    }
}

setInterval(generate, 7500);

canvas.addEventListener('mousedown', mousePos, false);
canvas.addEventListener('touch', mousePos, false);

function mousePos(e) {
    mouse.x = e.pageX;
    mouse.y = e.pageY;
}

canvas.addEventListener("mousedown", function() {
    ctx.beginPath();
    ctx.moveTo(0, 0);
    ctx.lineTo(mouse.x, mouse.y);
    ctx.stroke();
});

Source

答案 1 :(得分:0)

首先,检查Vinkla\Hashids\HashidsServiceProvider是否存在。另外,仔细检查所有字母(从文档中复制粘贴命名空间总是更好)。然后尝试运行此命令:

composer dumpauto

如果无效,请运行以下命令:

composer dumpauto -o

答案 2 :(得分:0)

我尝试了php artisan config:clear然后我运行了composer updatecomposer install,但我收到了相同的错误消息。

在我的情况下,问题发生在bootstrap/cache/config.php 所以我手动删除了文件并完成了任务。