web-dev-qa-db-ja.com

エラーで返されるpre-update-cmdイベントを処理するスクリプトphpアーティザンクリアコンパイル(Laravel 4.1アップグレード)

私は最近Laravel 4.0からLaravel 4.1にアップグレードしようとしましたが、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]

私が必要としているのは:

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

また、エラーの前にこれを受け取りました(私の環境でphp 5.4.10を実行していますが):

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

編集:

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

アップグレード手順を実行しましたか?ランニング composer updateでは不十分です。 laravel.com/docs/upgrade

7
user2094178

/ bootstrap/compiled.phpを削除してみてください(Laravel 4.2> 4.1)のダウングレードに問題がありました)

次に、composer update、それは動作するはずです。

がんばろう

7
jhmilan

たぶん、あなたはこのコマンドを試すことができます:

composer install --no-scripts
7
Jonny

Composer.jsonで以下を試してください。そこにclear-compiledpre-update-cmdイベントを処理すると、エラーになる可能性があります。

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

次のコマンドを再度実行してください。

 php composer.phar update
5
Duikboot

laravel 5を使用する場合、削除する正しいファイルはservices.json in bootstrap/cache folder、このエラーはcomposerが未完了の更新により破損している場合に発生します、

3

私のために働いた:

Composer.jsonperのアップグレードガイドを更新した後、更新されたすべてのリポジトリを取得するには:

composer update --no-scripts

次に:composer dump-autoload -o

その後、更新プログラムを再度実行して、更新前/更新後スクリプトを実行できるようにしました:composer update

アプリがブラウザに読み込まれ、5.2を使用してすべてのテストに再度合格します。お役に立てれば。

3
Mahsa Sirous

他の回答がどれも機能しない場合は、これを試してください:

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