web-dev-qa-db-fra.com

Script php artisan clear-compiled traitant l'événement pre-update-cmd renvoyé avec une erreur (mise à jour Laravel 4.1)

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"
        ]
    },
15
user1072337

Avez-vous suivi la procédure de mise à niveau? Lancer composer update ne suffira pas. laravel.com/docs/upgrade

7
user2094178

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

7
jhmilan

Peut-être que vous pouvez essayer cette commande:

composer install --no-scripts
6
Jonny

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
5
Duikboot

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.

3
Jimmy Obonyo Abor

Si aucune des autres réponses ne fonctionne, essayez ceci:

"pre-update-cmd": [],
"post-update-cmd": [
    "php artisan clear-compiled",
    "php artisan optimize"
],
1
Rathod Paresh

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.

0
Mahsa Sirous