2016-04-09 46 views
5

私はLaravel HTML依存関係をComposerでダウンロードしようとしています。コマンド "clear-compiled"は定義されていません。 Laravel 5.2

"name": "laravel/laravel", 
    "description": "The Laravel Framework.", 
    "keywords": ["framework", "laravel"], 
    "license": "MIT", 
    "type": "project", 
    "require": { 
     "php": ">=5.5.9", 
     "laravel/framework": "5.2.*", 
     "illuminate/html": "5.2" 
    }, 

そして私はcomposer updateまたはphp composer updateを実行すると、ターミナルログは次のとおりです:

composer.jsonは、ここでは何が不足している

E:\xampp\htdocs\lara-test>composer update 
> php artisan clear-compiled 

    [InvalidArgumentException] 
    Command "clear-compiled" is not defined. 

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-autoloader] [--no-scripts] [--no- 
progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] 
[-a|--classmap-authoritative] [--ignore-platform-reqs] [--prefer-stable] [--pre 
fer-lowest] [-i|--interactive] [--] [<packages>]... 

? 助けてください。

+3

試してみてください 'composer update --no-scripts' – Drudge

+1

ありがとうございます。しかし、 '--no scripts'は何ですか? – Jitendra

答えて

9

composer update --no-scriptsを使用すると、composer.jsonファイルで定義されているスクリプトを実行せずに、composerからupdateコマンドを実行することで回避できます。

composer updateの実行の一部として、php artisan clear-compiledを実行するスクリプトが実行されます。実際には、更新は正常に機能し、コンパイルされたファイルは消去されません。

他の回避策のブログの記事のカップルあります:http://jianjye.com/fix-command-clear-compiled-not-defined-error-upgrading-laravel-5-2/は、問題はhttps://github.com/laravel/framework/issues/9678

+0

ありがとう、それは私をとても助けました。 – raphael

+0

@raphaelあなたがそれを投票してもらえますか? – James

+0

確かに、@ジェームス。完了! – raphael

0

現在の答えはここにclear-compiledのアクションを実行しようとする人を満たしていない記録されます。ここでの内容とclear-compiledと呼ばれる(https://github.com/laravel/framework/issues/9678から取られた)同等のスクリプトを使用してソリューション、

がlaravelのルートフォルダにスクリプトを作成します:composer.json

#!/usr/bin/env php 
<?php 
foreach (glob(__DIR__ . '/bootstrap/cache/*.*') as $file) { 
    @unlink($file); 
} 
echo 'Cleared compiled directory.'; 
exit(); 

その後、変更はphp artisan clear-compiledphp clear-compiledへ:

"scripts": { 
    "pre-install-cmd": [ 
     "php clear-compiled" 
    ], 
    "post-install-cmd": [ 
     "php clear-compiled" 
    ] 
}, 
関連する問題