我最近升级到Ruby 1.9,我再也无法用Sass编译任何东西了。
我已经看到解决方案,如果我放置
@charset "utf-8";
在我的.sccs文件的顶部,它将修复它。但是我仍然收到错误。这是完整的追溯
我也尝试从我的CSS文件中删除任何非ascii字符,创建一个新的等等。它只是不会编译。有什么提示吗?
回溯:
Sass正在关注变化。按Ctrl-C停止。
/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:496:in`coding':不支持转码(从ASCII-8BIT到UTF-8)(引发ArgumentError)
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:496:in
_enc' from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:515:in
救援在块(1级)中'来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:508:in,clock(1 level)in'
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:472:in"product'
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:472:in'default'
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:472:in,clock in check_sass_encoding'
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:471:in` each'
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:471:in`find'
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:471:in`check_sass_encoding'
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/engine.rb:349:in`check_encoding!'
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/engine.rb:316:in`_to_tree'
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/engine.rb:291:in`_render'
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/engine.rb:238:in` render'来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/plugin/compiler.rb:319:in`update_stylesheet'
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/plugin/compiler.rb:169:在update_stylesheets中的“块”来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/plugin/compiler.rb:167:in` each'
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/plugin/compiler.rb:167:in`update_stylesheets'
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/plugin/compiler.rb:214:in`watch'
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/plugin.rb:111:in`method_missing'
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/exec.rb:408:in`watch_or_update'
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/exec.rb:294:in,process_result'
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/exec.rb:41:in“parse”
来自/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/exec.rb:21:in“解析!”
来自/home/webdev/.gem/repository/gems/sass-3.1.1/bin/sass:8:in`' 来自/home/webdev/.gem/repository/bin/sass:19:in"load' 来自/home/webdev/.gem/repository/bin/sass:19:in`'
答案 0 :(得分:11)
答案 1 :(得分:2)
看起来你的Ruby环境设置为以ASCII-8BIT
,a.k.a。BINARY
加载Sass源代码。这可能是因为您要么将-Kn
标志传递给Ruby进程,要么在加载Sass之前将代码中的Encoding.default_external
设置为Encoding::BINARY
。撤消这个,Sass应该可以工作。
答案 2 :(得分:2)
我不确切知道问题的核心,但似乎Ruby 1.9.0(此Ubuntu盒子的apt版本可用)和编码存在一些问题。
为了解决这个问题,我使用了https://rvm.io,它是从Git下载和编译Ruby的帮手,给我最新版本。运行之后,sass编译得很好,一切都很膨胀。
答案 3 :(得分:0)
这发生在我身上,解决方案并不明显:Jet Brains explained in this post that non-ASCII characters in your files route may break SASS的Elena Pogorelova,就我而言。
users/xxxx/projects/chilediseño/cms/scss
(ñ)
我只需要消除上面名称中的(ñ),一切正常。
答案 4 :(得分:-1)
这可能很明显,但您确定您的Sass文件是UTF-8编码的吗?任何像样的文本编辑器都可以让你转换编码。