2014-06-11 2 views
1

SSH 액세스가 부족한 FTP를 사용하여 수동으로 클라이언트 서버에 배포해야하기 전에 composer install --no-dev을 실행했습니다.작곡가 업데이트시 누락 된 서비스 제공 업체

PHP Fatal error: Class 'Way\Generators\GeneratorsServiceProvider' not found in C:\www\test.dev\laravel\vendor\laravel\framework\src\Illuminate\Foundation\ProviderRepository.php on line 158 
PHP Stack trace: 
PHP 1. {main}() C:\www\test.dev\laravel\artisan:0 
PHP 2. require_once() C:\www\test.dev\laravel\artisan:30 
PHP 3. require() C:\www\test.dev\laravel\bootstrap\start.php:60 
PHP 4. Illuminate\Foundation\ProviderRepository->load() C:\www\test.dev\laravel\vendor\laravel\framework\src\Illuminate\Foundation\start.php:210 
PHP 5. Illuminate\Foundation\ProviderRepository->compileManifest() C:\www\test.dev\laravel\vendor\laravel\framework\src\Illuminate\Foundation\ProviderRepository.php:58 
PHP 6. Illuminate\Foundation\ProviderRepository->createProvider() C:\www\test.dev\laravel\vendor\laravel\framework\src\Illuminate\Foundation\ProviderRepository.php:122 
{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Class 'Way\\Generators\\GeneratorsServiceProvider' not found","file":"C:\\Ampps\\www\\test.dev\\laravel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\ProviderRe 
pository.php","line":158}}Script php artisan clear-compiled handling the pre-update-cmd event returned with an error 



    [RuntimeException] 
    Error Output: PHP Fatal error: Class 'Way\Generators\GeneratorsServiceProvider' not found in C:\www\test.dev\laravel\vendor\laravel\framework\src\Illuminate\Foundation\ProviderRepository.php on line 158 
    PHP Stack trace: 
    PHP 1. {main}() C:\www\test.dev\laravel\artisan:0 
    PHP 2. require_once() C:\www\test.dev\laravel\artisan:30 
    PHP 3. require() C:\www\test.dev\laravel\bootstrap\start.php:60 
    PHP 4. Illuminate\Foundation\ProviderRepository->load() C:\www\test.dev\laravel\vendor\laravel\framework\src\Illuminate\Foundation\start.php:210 
    PHP 5. Illuminate\Foundation\ProviderRepository->compileManifest() C:\www\test.dev\laravel\vendor\laravel\framework\src\Illuminate\Foundation\ProviderRepository.php:58 
    PHP 6. Illuminate\Foundation\ProviderRepository->createProvider() C:\www\test.dev\laravel\vendor\laravel\framework\src\Illuminate\Foundation\ProviderRepository.php:122 

app.php 파일의 각 라인 'Way\Generators\GeneratorsServiceProvider'이 있습니다 내가 그렇게했을 때, 나는 다음과 같은 오류가 발생했습니다.

작곡가 명령을 실행하기 전에 정상적으로 작동하고있었습니다. 왜 이런 일이 일어나고 어떻게 고칠 수 있습니까?

라우라벨 4.1.

+0

conposer.json에서 이전에 작곡가 업데이트를 만들기 위해 루트에 있습니까? –

+0

@ MarianoMontañezUreta 예, composer.json의 줄은 "require-dev"입니다 : { "way/generators": "~ 2.6"}' – eComEvo

답변

3

composer.json 파일에는 개발 시스템 종속성으로 만 way/generators이 있습니다. app.php 파일 각각에 서비스 공급자 'Way\Generators\GeneratorsServiceProvider'이있는 경우 way/generators은 배포 컴퓨터 및 배포 컴퓨터 종속성을 의미합니다. composer install --no-dev을 수행하면 개발 기계 의존성 패키지 만이 vendor 디렉토리에 들어 가지 않아야한다는 것을 알 수 있습니다. 이는 패키지 way/generatorsvendor 디렉토리에 설치되어 있지 않음을 의미합니다. 그래서 오류가 발생합니다.

way/generators은 개발 종속성이므로 에서 'Way\Generators\GeneratorsServiceProvider'을 제거해야하므로 배포 컴퓨터에서 찾지 않습니다.

개발 기계에서 작업 중이며 composer install --no-dev을 수행 한 경우 way/generators 패키지는 vendor 디렉토리에 설치되지 않으므로 위의 오류가 발생합니다. 따라서 배포 컴퓨터에서 작동하는지 테스트하려면 local이 아닌 개발 컴퓨터 환경을 만들어야합니다.