2012-08-25 9 views
13

Istnieje kilka skryptów, które są wykonywane po uruchomieniu programu Composer.Jak właściwie zmienić to, co robi kompozytor lub Symfony2 po uruchomieniu 'composer update/install'?

Problem polega na tym, że robią rzeczy, których nie chcę, np. php assets:install (bez --symlink).

Muszę więc albo to usunąć, albo dodać własny skrypt do wykonania php assets:install --symlink.

Jaki byłby właściwy sposób na zrobienie tego?

EDIT

W Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets() widzę opcję dowiązania symbolicznego:

if ($options['symfony-assets-install'] == 'symlink') { 
    $symlink = '--symlink '; 

Czy to konfigurowalne gdzieś?

Odpowiedz

33

Aby zainstalować aktywa z dowiązania edytować composer.json (na końcu) w ten sposób

"extra": { 
    "symfony-app-dir": "app", 
    "symfony-web-dir": "web", 
    "symfony-assets-install": "symlink" 
} 

następnie uruchomić kompozytora jako uusal.

+0

Awesome! Dzięki – ChocoDeveloper

6

Jeśli używasz kompozytora do wdrożenia w środowiskach produkcyjnych, możesz zamiast tego ustawić zmienną środowiskową SYMFONY_ASSETS_INSTALL na symlink. W ten sposób produkcja nadal korzysta z wydruków, co jest zalecaną opcją.

+1

Musiałem wykonać zarówno SYMFONY_ASSETS_INSTALL = dowiązanie symboliczne ** i ** 'export SYMFONY_ASSETS_INSTALL' w moim pliku' .profile', aby to działało. – Sam