2016-11-09 46 views
0

我需要从源代码控制中自动执行我的生产机器上的laravel项目设置/ 升级Laravel - 无法从我的源代码控制安装

我写了一个bash脚本来克隆GIT仓库的源代码并运行安装程序。

的git的代码将文件夹/var/www/prod/mainapp/,所以下面的bash代码git的命令后运行:

cd /var/www/prod/mainapp/app/ 
composer install # composer update will not work as well 
php artisan dump-autoload 
php artisan optimize 

我收到以下错误,当代码达到:php artisan optimize

PHP Fatal error: Class 'App\Providers\SocialUserProvider' not found in /var/www/prod/mainapp/app/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php on line 146

我app.php

我有以下提供:

App\Providers\FacebookGraphProvider::class, 
    Torann\GeoIP\GeoIPServiceProvider::class, 
    App\Providers\SocialUserProvider::class, 

这是我composer.json:

{ 
    "name": "laravel/laravel", 
    "description": "The Laravel Framework.", 
    "keywords": ["framework", "laravel"], 
    "license": "MIT", 
    "type": "project", 
    "require": { 
     "php": ">=5.5.9", 
     "laravel/framework": "5.2.*", 
     "torann/geoip": "0.2.3" 
    }, 
    "require-dev": { 
     "fzaninotto/faker": "~1.4", 
     "mockery/mockery": "0.9.*", 
     "phpunit/phpunit": "~4.0", 
     "symfony/css-selector": "2.8.*|3.0.*", 
     "symfony/dom-crawler": "2.8.*|3.0.*" 
    }, 
    "autoload": { 
     "classmap": [ 
      "database", 
      "app/Facades", 
      "app/Services" 
     ], 
     "psr-4": { 
      "App\\": "app/" 
     } 
    }, 
    "autoload-dev": { 
     "classmap": [ 
      "tests/TestCase.php" 
     ] 
    }, 
    "scripts": { 
     "post-root-package-install": [ 
      "php -r \"copy('.env.example', '.env');\"" 
     ], 
     "post-create-project-cmd": [ 
      "php artisan key:generate" 
     ], 
     "post-install-cmd": [ 
      "Illuminate\\Foundation\\ComposerScripts::postInstall", 
      "php artisan optimize" 
     ], 
     "post-update-cmd": [ 
      "Illuminate\\Foundation\\ComposerScripts::postUpdate", 
      "php artisan optimize" 
     ] 
    }, 
    "config": { 
     "preferred-install": "dist" 
    } 
} 
+0

删除'软件\供应商\ SocialUserProvider ::类,'从服务供应商名单,然后'作曲家install' –

+0

@RisulIslam但这不是稳健的,这是我应该做的我每次升级时间?它没有任何意义... – SexyMF

+0

确保在App \ Providers中有一个名为'SocialUserProvider'的文件。 –

回答

1

您需要向类图添加一行来告诉谁应该自动加载。 app/Providers

"classmap": [ 
     "database", 
     "app/Facades", 
     "app/Services", 
     "app/Providers" //this is the missing part. 
    ] 
0

我遇到了几次。

我的解决方法是运行

composer install --no-scripts 

你得到这个错误是由于前期在composer.json文件,并通过添加标志,安装过程中,你跳过这些脚本安装脚本。

一旦你安装了所有东西,你就可以像平常一样使用composer installcomposer update