J'ai récemment essayé de passer de Laravel 4.0 à Laravel 4.1 et j'obtiens l'erreur suivante lorsque j'exécute php composer.phar update:
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]
Je demande seulement:
"require": {
"laravel/framework": "4.1.*",
"way/generators": "2.*",
"madewithlove/laravel-oauth2": "0.4.*"
},
En outre, j'ai reçu ceci avant l'erreur (même si j'utilise PHP 5.4.10 dans mon environnement):
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
MODIFIER:
Scripts utilisés dans 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"
]
},
Avez-vous suivi la procédure de mise à niveau? Lancer composer update
ne suffira pas. laravel.com/docs/upgrade
Essayez de supprimer /bootstrap/compiled.php (j'avais du mal à rétrograder Laravel 4.2> 4.1)
Ensuite, essayez de composer update
, cela devrait fonctionner.
Bonne chance
Peut-être que vous pouvez essayer cette commande:
composer install --no-scripts
Essayez ce qui suit dans votre composer.json. Il clear-compiled manipulant l'événement pre-update-cmd est votre erreur, vous pourriez l'effacer.
"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"
]
},
Essayez de relancer la commande suivante:
php composer.phar update
Si vous utilisez laravel 5, le fichier correct à supprimer est services.json
dans le dossier bootstrap/cache
. Cette erreur survient lorsque le compositeur est corrompu en raison d'une mise à jour inachevée.
Si aucune des autres réponses ne fonctionne, essayez ceci:
"pre-update-cmd": [],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
A travaillé pour moi:
Après avoir mis à jour composer.jsonper le guide de mise à niveau, pour obtenir tous les repo mis à jour:
composer update --no-scripts
Alors: composer dump-autoload -o
Ensuite, j'ai exécuté une nouvelle mise à jour pour que mes scripts de pré/post-mise à jour puissent s'exécuter: composer update
L'application se charge dans le navigateur et tous mes tests réussissent à nouveau avec la version 5.2. J'espère que cela t'aides.