Rails 3.1。我正在尝试预编译资产。
$ rake assets:precompile RAILS_ENV=production
rake aborted!
/home/user/project/public/assets/jquery-ui.min-0e8a11c7e970b57b4bf5c449cb14480d.js.gz has a invalid UTF-8 byte sequence
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
有什么想法吗?
答案 0 :(得分:9)
这是Sprockets的问题。您现在可以通过在评论中从作者姓名中的“a”中删除变音来解决此问题。老:
Copyright (c) 2010 - 2011 Johan Säll Larsson
新:
Copyright (c) 2010 - 2011 Johan Sall Larsson
答案 1 :(得分:3)
此问题似乎与Heroku,Sprockets和解释样式表中的非ascii字符有关。
在顶级样式表的第一行,包括:
@charset“UTF-8”;
charset指令必须位于顶部,否则heroku的预编译将插入
@charset“US-ASCII”;
请注意,如果您在顶级样式表中使用清单,则也不能使用charset指令,因为它们都希望位于第一行。我的解决方法是在我的布局中包含分别具有非ascii字符的样式表(而不是作为清单的一部分)。
我喜欢比这种解决方法更好的答案。
答案 2 :(得分:3)
https://github.com/sstephenson/sprockets/issues/219
config.assets.precompile = %w( files )
而不是
config.assets.precompile += %w( files )
或
config.assets.precompile << %w( files )