2014-04-04 12 views
13

Niedawno próbowałem aktualizacji z Laravel 4.0 do Laravel 4.1 i otrzymuję następujący błąd podczas uruchamiania php composer.phar aktualizacja:Skompilowany skrypt php rzemieślnik posługujący się zdarzeniem pre-update-cmd zwrócony z błędem (aktualizacja Laravel 4.1)

Script php artisan clear-compiled handling the pre-update-cmd event returned with an error 



    [RuntimeException] 
    Error Output:  



update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [packages1] ... [packagesN] 

ja tylko wymagając:

"require": { 
     "laravel/framework": "4.1.*", 
     "way/generators": "2.*", 
     "madewithlove/laravel-oauth2": "0.4.*" 
    }, 

również otrzymałem to przed błędem (choć używam PHP 5.4.10 w moim otoczeniu):

phpseclib/phpseclib suggests installing ext-gmp (Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.) 
phpseclib/phpseclib suggests installing pear-pear/PHP_Compat (Install PHP_Compat to get phpseclib working on PHP < 4.3.3.) 
d11wtq/boris suggests installing ext-readline (*) 
d11wtq/boris suggests installing ext-pcntl (*) 
Writing lock file 
Generating autoload files 

EDIT:

skrypty używane w composer.json:

"scripts": { 
     "pre-install-cmd": [ 
      "php artisan clear-compiled" 
     ], 
     "post-install-cmd": [ 
      "php artisan optimize" 
     ], 
     "pre-update-cmd": [ 
      "php artisan clear-compiled" 
     ], 
     "post-update-cmd": [ 
      "php artisan optimize" 
     ], 
     "post-create-project-cmd": [ 
      "php artisan key:generate" 
     ] 
    }, 
+1

Czy przestrzegałeś procedury aktualizacji? Uruchomienie aktualizacji 'composer' nie wystarczy. http://laravel.com/docs/upgrade – user2094178

+0

wprowadzenie wspomnianych zmian w aktualizacji rozwiązało problem. Dziękuję Ci. Jeśli chcesz odpowiedzieć, dam ci znacznik wyboru. – user1072337

+0

OK, odpowiem, dziękuję. – user2094178

Odpowiedz

6

Czy wykonano procedurę aktualizacji? Uruchomienie composer update nie wystarczy. laravel.com/docs/upgrade

+0

Dam punkt, aby wysłać mnie we właściwym kierunku. Zaktualizowałem wersję 4.0 - 4.1 i nigdy nie szukałem notatek aktualizacji. Napotkał ten sam problem co plakat i postępował zgodnie z instrukcjami aktualizacji. Ponownie uruchom aktualizację i zadziałało. – Bmoeller

+0

Tylko dodatkowa uwaga dla każdego, kto może znaleźć to później - kolejność zmian jest ważna! Procedura aktualizacji wymaga uruchomienia "aktualizacji kompozytorki" ** po ** wprowadzeniu zmian. Próbowałem uruchomić go pierwszy i uruchomić ten problem. – Kryten

+0

@Kryten co powinienem zrobić, jeśli dokonałem aktualizacji przez kompozytora przed wprowadzeniem zmian? –

3

Spróbuj wykonać następujące czynności w composer.json. Jest tam z jasną kompilacją z obsługą pre-update-cmd Zdarzenie jest Twoim błędem, możesz go usunąć.

"scripts": { 
    "pre-install-cmd": [ 
     "php artisan clear-compiled" 
    ], 
    "post-install-cmd": [ 
     "php artisan optimize" 
    ], 
    "pre-update-cmd": [ 
     "php artisan clear-compiled" 
    ], 
    "post-update-cmd": [ 
     "php artisan optimize" 
    ] 
}, 

Spróbuj ponownie uruchomić następujące polecenie:

php composer.phar update 
+0

Po dokonaniu tej zmiany (patrz zmienił powyżej), ja wciąż otrzymaniu błąd: skrypt php rzemieślnik jasne skompilowane obsługi zdarzenia pre-update-cmd wrócił z błędem [RuntimeException] Wyjście błędu: – user1072337

7

spróbować usunąć /bootstrap/compiled.php (byłem w tarapatach Obniżanie laravel 4.2> 4.1)

następnie spróbuj composer update, powinno działać.

Powodzenia

+0

To mi się udało. Dzięki! –

3

przypadku korzystania laravel 5, następnie poprawny plik do usunięcia jest services.json w bootstrap/cache folderze, ten błąd jest spowodowany tym, kompozytor jest uszkodzony z powodu niedokończonej aktualizacji

1

Jeśli żadna z pozostałych odpowiedzi praca, spróbuj tego:

"pre-update-cmd": [], 
"post-update-cmd": [ 
    "php artisan clear-compiled", 
    "php artisan optimize" 
], 
+0

Dziękuję. Tylko to rozwiązanie zadziałało dla mnie :) – Waqas

1

może spróbować tej komendy:

composer install --no-scripts 
+0

Ten wpis nie jest faktyczną próbą odpowiedzi na pytanie. Uwaga [StackOverflow nie działa jak forum dyskusyjne] (http://stackoverflow.com/tour), jest to witryna pytań i odpowiedzi, w której każdy post jest albo pytaniem, albo odpowiedzią na pytanie. Posty mogą mieć również [comments] (http://stackoverflow.com/help/privileges/comment) - małe zdania, takie jak ten - które mogą być użyte do krytyki lub prośby o wyjaśnienia od autora. Powinien to być komentarz lub [nowe pytanie] (http://stackoverflow.com/questions/ask) –

Powiązane problemy