【问题标题】:ruby Invalid UTF-8 character "\xA0" (Sass::SyntaxError)ruby 无效的 UTF-8 字符“\xA0”(Sass::SyntaxError)
【发布时间】:2014-11-11 13:56:10
【问题描述】:

我正在尝试运行 sass 命令

 sass /usr/bin/ruby /usr/local/bin/sass --load-path /opt/lampp/htdocs/kunstmann/vendor/kunstmaan/admin-bundle/Kunstmaan/AdminBundle/Resources/public/scss

我收到了这个错误。

/usr/bin/ruby:1: Invalid UTF-8 character "\xA0" (Sass::SyntaxError)
from /var/lib/gems/1.9.1/gems/sass-3.2.13/lib/sass/engine.rb:373:in `block in check_encoding!'
from /var/lib/gems/1.9.1/gems/sass-3.2.13/lib/sass/util.rb:604:in `rescue in block in check_encoding'
from /var/lib/gems/1.9.1/gems/sass-3.2.13/lib/sass/util.rb:601:in `block in check_encoding'
from /var/lib/gems/1.9.1/gems/sass-3.2.13/lib/sass/util.rb:600:in `each'
from /var/lib/gems/1.9.1/gems/sass-3.2.13/lib/sass/util.rb:600:in `each_with_index'
from /var/lib/gems/1.9.1/gems/sass-3.2.13/lib/sass/util.rb:600:in `check_encoding'
from /var/lib/gems/1.9.1/gems/sass-3.2.13/lib/sass/util.rb:654:in `check_sass_encoding'
from /var/lib/gems/1.9.1/gems/sass-3.2.13/lib/sass/engine.rb:372:in `check_encoding!'
from /var/lib/gems/1.9.1/gems/sass-3.2.13/lib/sass/engine.rb:339:in `_to_tree'
from /var/lib/gems/1.9.1/gems/sass-3.2.13/lib/sass/engine.rb:315:in `_render'
from /var/lib/gems/1.9.1/gems/sass-3.2.13/lib/sass/engine.rb:262:in `render'
from /var/lib/gems/1.9.1/gems/sass-3.2.13/lib/sass/exec.rb:349:in `process_result'
from /var/lib/gems/1.9.1/gems/sass-3.2.13/lib/sass/exec.rb:41:in `parse'
from /var/lib/gems/1.9.1/gems/sass-3.2.13/lib/sass/exec.rb:21:in `parse!'
from /var/lib/gems/1.9.1/gems/sass-3.2.13/bin/sass:13:in `<top (required)>'
from /usr/local/bin/sass:23:in `load'
from /usr/local/bin/sass:23:in `<main>'

我试过把 @charset "utf-8"; 到 sass 文件的开头。 还尝试将 Encoding.default_external = "utf-8" 包含到众多 config.rb 文件中。 ruby 版本 ruby​​ 1.9.3p484

更新:

我正在编译 css 文件,但其中包含此错误。 使用 Symfony2 命令编译:app/consoleassetic:dump

[exception] 500 | Internal Server Error | Assetic\Exception\FilterException
[message] An error occurred while running:
&#039;/usr/bin/ruby&#039; &#039;/usr/local/bin/sass&#039; &#039;--load-path&#039;     &#039;/opt/lampp/htdocs/kunstmann/vendor/kunstmaan/admin-bundle/Kunstmaan/AdminBundle   /Resources/public/scss&#039; &#039;--scss&#039; &#039;--cache-location&#039;  &#039;/tmp&#039; &#039;/tmp/assetic_sasspqLusY&#039;

Error Output:
Errno::ENOENT: No such file or directory - /tmp/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/assetic_sasspqLusYc20141111-4656-uxy3yg.lock

使用 --trace 进行回溯。

【问题讨论】:

  • 你能在你的 IDE 中打开显示空格并检查你那里没有任何奇怪的字符吗?

标签: ruby symfony encoding utf-8 sass


【解决方案1】:

您将 ruby​​ 程序 /usr/bin/ruby 作为参数传递给 sass。所以 sass 试图读取 ruby​​ 程序,它是一个二进制文件,这就是你得到错误的原因。

从命令的开头删除 sass。

【讨论】:

  • 请看一下。我已经更新了我的问题。在没有 sass 的情况下运行测试命令将永远存在
猜你喜欢
  • 2023-03-23
  • 2011-07-25
  • 2013-04-07
  • 1970-01-01
  • 1970-01-01
  • 2012-03-25
  • 1970-01-01
  • 2016-11-08
  • 2011-02-28
相关资源
最近更新 更多