Na moim środowisku produkcyjnym chcę użyć filtru UglifyCSS skonfigurowany w następujący sposób (config_prod.yml):Assetic wysypisko nie znajdzie uglifycss w mojej aplikacji Symfony
assetic:
filters:
uglifycss:
node: /usr/bin/env node
bin: /usr/local/bin/uglifycss
apply_to: "\.css$"
Ale kiedy biegnę
php app/console assetic:dump --env=prod --no-debug
otrzymuję komunikat o błędzie:
[Assetic\Exception\FilterException]
An error occurred while running:
'/usr/local/bin/node' '/usr/bin/uglifycss' '/tmp/inputtyeA2H'
Error Output:
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module '/usr/bin/uglifycss'
at Function._resolveFilename (module.js:332:11)
at Function._load (module.js:279:25)
at Array.0 (module.js:479:10)
at EventEmitter._tickCallback (node.js:192:40)
Tak oczywiście Assetic szuka uglifycss w /usr/bin
chociaż skonfigurowałem go do używania innej ścieżki, /usr/local/bin
. Czy ktoś wie, co się tutaj dzieje?
Czy kiedykolwiek rozwiązać ten problem? Mam ten sam problem. Mogę to naprawić, dowiązując symbolicznie plik wykonywalny do/usr/bin/uglifyjs, ale chciałem czegoś lokalnego w moim katalogu app/Resources, aby móc wdrożyć go z kontrolą wersji. – Fodagus
Nie, na razie nie znalazłem rozwiązania. Chociaż muszę przyznać, że nie próbowałem tego w ostatnich tygodniach. Może naprawiono błąd Assetic. – acme
To mnie denerwuje, więc debuguję/nurkuję źródło. Do tej pory znalazłem to w app/cache/Prod/appProdProjectContainer.php: $ this-> services ['assetic.filter.uglifyjs2'] = $ instance = new \ Assetic \ Filter \ UglifyJs2Filter ('/ usr/bin/uglifyjs ','/usr/bin/node '); Filtr NIE jest przekazywany wartości ustawionych w pliku .yml, więc podczas generowania usługi nie znajduje kluczy. Wciąż wyglądasz ... – Fodagus