2016-04-09 17 views
5

Sto provando a scaricare le dipendenze di Laravel HTML con Composer.Il comando "clear-compiled" non è definito. Laravel 5.2

composer.json è qui:

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

E quando corro composer update o php composer update, il registro terminale è:

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>]... 

Cosa manca? Per favore aiuto.

+3

try 'compositore update --no-scripts' – Drudge

+1

Grazie, funziona. Ma che cos'è "--no script" ?? – Jitendra

risposta

9

È possibile aggirare questo utilizzando composer update --no-scripts che esegue il comando di aggiornamento da compositore senza l'esecuzione degli script definiti nel file composer.json.

Come parte della gestione di composer update, viene eseguito uno script che viene eseguito php artisan clear-compiled - in effetti l'aggiornamento funziona normalmente, senza che i file compilati vengano cancellati.

Ci sono un paio di post di blog su altri arounds di lavoro: http://jianjye.com/fix-command-clear-compiled-not-defined-error-upgrading-laravel-5-2/ e un problema registrato https://github.com/laravel/framework/issues/9678

+0

Grazie, mi ha aiutato molto. – raphael

+0

@raphael se l'hai trovato utile ti dispiacerebbe votare? – James

+0

Certo, @James. Fatto! – raphael

0

La risposta attuale qui non soddisfa qualcuno che vuole eseguire clear-compiled azione. Ecco la soluzione con uno script equivalente, (tratto da https://github.com/laravel/framework/issues/9678)

creare uno script alla cartella principale del laravel chiamato clear-compiled con il contenuto:

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

Poi, nel composer.json, cambiare php artisan clear-compiled-php clear-compiled:

"scripts": { 
    "pre-install-cmd": [ 
     "php clear-compiled" 
    ], 
    "post-install-cmd": [ 
     "php clear-compiled" 
    ] 
}, 
Problemi correlati