2015-09-26 175 views
2

我試圖部署在鍛造一個laravel項目,我收到以下異常:部署未發現異常

Symfony\Component\Debug\Exception\FatalErrorException] 
Class 'Faker\Factory' not found  

我在composer.json需要,開發了騙子參考!

composer.json文件

{ 
"name": "laravel/laravel", 
"description": "The Laravel Framework.", 
"keywords": ["framework", "laravel"], 
"license": "MIT", 
"type": "project", 
"require": { 
    "php": ">=5.5.9", 
    "laravel/framework": "5.1.*", 
    "tymon/jwt-auth": "0.5.*", 
    "dingo/api": "[email protected]" 
}, 
"require-dev": { 
    "fzaninotto/faker": "~1.5", 
    "mockery/mockery": "0.9.*", 
    "phpunit/phpunit": "~4.0", 
    "phpspec/phpspec": "~2.1", 
    "laracasts/testdummy": "1.*", 
    "laracasts/generators": "^1.1" 
}, 
"autoload": { 
    "classmap": [ 
     "database" 
    ], 
    "psr-4": { 
     "App\\": "app/" 
    } 
}, 
"autoload-dev": { 
    "classmap": [ 
     "tests/TestCase.php" 
    ] 
}, 
"scripts": { 
    "post-install-cmd": [ 
     "php artisan clear-compiled", 
     "php artisan optimize" 
    ], 
    "pre-update-cmd": [ 
     "php artisan clear-compiled" 
    ], 
    "post-update-cmd": [ 
     "php artisan optimize" 
    ], 
    "post-root-package-install": [ 
     "php -r \"copy('.env.example', '.env');\"" 
    ], 
    "post-create-project-cmd": [ 
     "php artisan key:generate" 
    ] 
}, 
"config": { 
    "preferred-install": "dist" 
} 

}在鍛造

部署腳本:

git pull origin master 
composer install --no-interaction --no-dev --prefer-dist 
php artisan migrate --force 
php artisan db:seed --class="StaticDataSeeder" 

我能在本地部署在同一個項目用了上僞造任何問題和作曲家更新也成功運行,我可以看到faker軟件包正在下載。

請讓我知道如果我失去了一些東西。

回答

14

顯然有衝突,說明您的問題:

  1. 您已經將"fzaninotto/faker"包到require-dev部分。

  2. 您正在運行與--no-dev選項,explicitly prohibits安裝在require-dev列出的軟件包部署composer install命令。

所以解決方法是,所述包移動到require部或部署時刪除--no-dev選項。

+0

非常感謝!刪除了' - 無開發'的選項,並做了訣竅。 :) – vthallam

+4

很高興我能幫到你。 **小提示:**如果您使用'fzaninotto/faker'包生成種子數據(因爲我看到您在部署過程中正在運行播種機),所以我建議您將其移至「require」部分,因爲通過刪除'--no-dev'選項,您可以在生產服務器上安裝'phpunit/phpunit'和'require-dev'中列出的所有其他軟件包,這並不是真正需要的。 – Bogdan

+0

感謝您的提示!我會將它移動到require列然後:) – vthallam