1

我刚刚将 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
4

2 回答 2

2

您必须使用最新版本的资产。如果您使用以前的“deps”文件方法来管理您的依赖项 - 确保资产与 master/dev/head 版本一起列出。

如有疑问,请发布您的 deps 文件...

如果您使用的是作曲家方法:

php composer.phar update

应该完成这项工作。

如果您确定您拥有最新版本 - 再次清除缓存;)

于 2012-07-11T20:10:54.933 回答
1

你仍然可以从过去四个月的变化中受益,你不需要使用旧版本的 AsseticBundle。

deps.lockSymfony2 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 一起使用。

于 2012-07-13T00:24:55.433 回答