Ich habe vor kurzem versucht, ein Upgrade von Laravel 4.0 auf Laravel 4.1 durchzuführen. Beim Ausführen des Updates "php composer.phar" wird die folgende Fehlermeldung angezeigt:
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]
Ich benötige nur:
"require": {
"laravel/framework": "4.1.*",
"way/generators": "2.*",
"madewithlove/laravel-oauth2": "0.4.*"
},
Außerdem habe ich dies vor dem Fehler erhalten (obwohl in meiner Umgebung PHP 5.4.10 ausgeführt wird):
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
BEARBEITEN:
In composer.json verwendete Skripts:
"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"
]
},
Haben Sie das Upgrade-Verfahren befolgt? Das Ausführen von composer update
reicht nicht aus. laravel.com/docs/upgrade
Versuchen Sie, /bootstrap/compiled.php zu entfernen (ich hatte Probleme beim Herabstufen von Laravel 4.2> 4.1)
Dann versuchen Sie es mit composer update
, es sollte funktionieren.
Viel Glück
Vielleicht können Sie diesen Befehl ausprobieren:
composer install --no-scripts
Versuchen Sie Folgendes in Ihrem composer.json. Dort ist clear-compiled die Behandlung des pre-update-cmd -Ereignisses Ihr Fehler.
"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"
]
},
Versuchen Sie erneut, den folgenden Befehl auszuführen:
php composer.phar update
Wenn Sie Laravel 5 verwenden, ist services.json
im Ordner bootstrap/cache
die richtige zu löschende Datei. Dieser Fehler tritt auf, wenn der Composer aufgrund eines nicht abgeschlossenen Updates beschädigt ist.
Wenn keine der anderen Antworten funktioniert, versuchen Sie Folgendes:
"pre-update-cmd": [],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
Arbeitete für mich:
Nachdem Sie composer.jsonper das Upgrade-Handbuch aktualisiert haben, erhalten Sie alle aktualisierten Repos:
composer update --no-scripts
Dann: composer dump-autoload -o
Dann habe ich erneut ein Update ausgeführt, sodass meine Skripts für das Vor-/Nach-Update ausgeführt werden können: composer update
Die App wird im Browser geladen und alle meine Tests werden erneut mit 5.2 bestanden. Hoffe das hilft.