rake assets:预编译错误

时间:2012-11-20 06:40:24

标签: ruby-on-rails twitter-bootstrap rake twitter-bootstrap-rails

我在生产服务器上运行rake assets:precompile时遇到错误。据我所知,在此之前我没有做任何不同的事情。在我的开发机器上运行rake assets:precompile不会产生任何错误。我不知道如何调试这个。建议?我尝试使用--trace选项运行,但它并没有给我任何更有用的信息来指出代码中的错误。

deploy@example.com:~/www/example.com/app/assets/stylesheets$ rake assets:precompile
(in /home/deploy/www/example.com)
/home/deploy/.rvm/rubies/ruby-1.9.3-p194/bin/ruby /home/deploy/.rvm/gems/ruby-1.9.3-p194@global/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets
rake aborted!
Invalid CSS after "...4882640c.png"")": expected "{", was ";background-pos..."
  (in /home/deploy/www/example.com/app/assets/stylesheets/application.css)

Tasks: TOP => assets:precompile:primary
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [/home/deploy/.rvm/rubies/ruby-1.9.3-p194/b...]

Tasks: TOP => assets:precompile
(See full trace by running task with --trace)

3 个答案:

答案 0 :(得分:0)

application.css文件中有错误

它说

Invalid CSS after "...4882640c.png"")": expected "{", was ";background-pos..."

所以它看起来就是你设置背景图像的地方。

如果您需要帮助来查找错误。发布css文件

答案 1 :(得分:0)

Andreas Lyngstad说的大多是正确的,除非你在资产上运行预编译,所有内容都被添加到application.css文件中,所以错误不一定在那个文件中,只是你在某个地方有错误在任何包含在application.css文件中的css文件中。因此,您需要检查所有包含的css文件中的错误,您可以对所有css文件进行文本搜索,并根据您使用的编辑器尝试找到一行。

无论如何,希望这有帮助。

答案 2 :(得分:0)

我最终解决了这个问题。事实证明,这是我使用的Twitter bootstrap rails gem的一个问题。我正在使用https://github.com/seyhunak/twitter-bootstrap-rails。事实证明,这是在bootstrap_and_overrides.less文件中导入的其中一个工作表中的错误。对我来说,解决方案是将我的Gemfile中的gem冻结到版本2.1.7并处理之后出现的任何依赖性问题。