Ошибка сценария Assetic/Coffee: фатальная ошибка: вызов неопределенного метода Assetic\Filter\CoffeeScriptFilter::setBare() i

Я только что обновил Symfony до последней версии (2.0.16) и получил странную ошибку Assetic/CoffeeScript при компиляции.

Fatal error: Call to undefined method Assetic\Filter\CoffeeScriptFilter::setBare() in/app/cache/dev/appDevDebugProjectContainer.php on line 119

Эта строка содержит следующее: $instance->setBare(NULL);

Я попытался вручную очистить кеш, но проблема все еще сохраняется. Любые идеи?

Изменить: пути в моем файле конфигурации определенно верны:

assetic:
debug:          %kernel.debug%
use_controller: true
filters:
    coffee:
        coffee: %kernel.root_dir%/../../../.nvm/v0.6.18/bin/coffee
        node: %kernel.root_dir%/../../../.nvm/v0.6.18/bin/node
        apply_to: "\.coffee$"

Редактировать 2:

В версии 2.0.15 deps и deps.lock работают нормально, а в версии 2.0.16 - нет.

#2.0.15 deps:
#[AsseticBundle]
git=http://github.com/symfony/AsseticBundle.git
target=/bundles/Symfony/Bundle/AsseticBundle
version=v1.0.1

#2.0.15 deps.lock
AsseticBundle v1.0.1

#2.0.16 deps
[AsseticBundle]
git=http://github.com/symfony/AsseticBundle.git
target=/bundles/Symfony/Bundle/AsseticBundle
version=origin/2.0

#2.0.16 deps.lock
AsseticBundle fbcbaf46df2aa143759319de205e1babcf7dd87d

person greg    schedule 11.07.2012    source источник


Ответы (2)


Вы все еще можете воспользоваться изменениями за последние четыре месяца, вам не нужно использовать старую версию AsseticBundle.

В файле deps.lock, поставляемом с Symfony2 v2.0.16, версия AsseticBundle неверна. Вместо этого используйте эту версию в файле deps.lock:

a926f5e81718bb920459ce3226ceb258ab3c1f05

В качестве альтернативы вы можете опустить версию AsseticBundle из deps.lock, так как последний коммит в ветке 2.0 будет работать с Symfony2 v2.0.16. Ветка AsseticBundle 2.0 в настоящее время находится по адресу a926f5e8, тот же самый коммит, о котором я упоминал выше. Но я так понимаю, что ветка 2.0 всегда должна быть с Symfony 2.0.x.

person Adam Monsen    schedule 13.07.2012

Вы должны использовать последнюю версию assets. Если вы используете прежний файловый метод «deps» для управления своими зависимостями, убедитесь, что в списке активов есть версия master/dev/head.

Опубликуйте свой файл deps, если сомневаетесь...

Если вы используете метод composer:

php composer.phar update

должен закончить работу.

Если вы уверены, что у вас последняя версия - очистите кеш еще раз ;)

person madflow    schedule 11.07.2012
comment
Спасибо за ответ! См. мое редактирование выше, версия в 2.0.15 deps и deps.lock работают нормально, версия в 2.0.16 - нет. - person greg; 12.07.2012
comment
Хорошо: это похоже на ошибку в AsseticBundle. В последней версии активика есть метод CoffeeScriptFilter::setBare(). Его нет в версии 1.0.3 (которую вы используете). Возможное решение: Удалите deps.lock для assets (не AsseticBundle), обновитесь до версии head и повторите попытку. Или - отправьте отчет об ошибке ;) - person madflow; 12.07.2012
comment
Спасибо :-) Я уже откатился на последнюю версию, которая исправляет проблему. Я отправлю вопрос на их github. Ваше здоровье. - person greg; 12.07.2012
comment
Вот эта проблема: github.com/symfony/AsseticBundle/issues/94 . Спасибо за регистрацию, Грег. - person Adam Monsen; 12.07.2012