6

当我执行该行时

$sass --watch sass/views.scss:views.css

我收到以下消息

Sass 正在观察变化。按 Ctrl-C 停止。NameError: uninitialized constant Listen::MultiListener 使用 --trace 进行回溯。

正如您所说,该过程立即停止并且监视选项不起作用。

这里有什么问题??我已经安装了 Ruby 2.0.0-p0 版本。

任何帮助表示赞赏。

编辑:(--跟踪)

Sass 正在观察变化。按 Ctrl-C 停止。/home/javier/.rvm/gems/ruby-2.0.0-p0/gems/sass-3.2.8/lib/sass/plugin/compiler.rb:266:in method_missing' 来自 /home/javier/.rvm/ gems/ruby-2.0.0-p0/gems/sass-3.2.8/lib/sass/exec.rb:452:in process_result' 来自/home/javier/.rvm/gems/ruby-2.0.0-p0/ gems/sass-3.2.8/lib/sass/exec.rb:41:解析中! 从 /home/javier/.rvm/gems/ruby-2.0.0-p0/gems/sass-3.2.8/bin/sass:9:in load' 从 /home/javier/.rvm/gems/ruby-2.0 .0-p0/bin/sass:23:in `' watch': uninitialized constant Listen::MultiListener (NameError)
from /home/javier/.rvm/gems/ruby-2.0.0-p0/gems/sass-3.2.8/lib/sass/plugin.rb:107:in

watch_or_update'
from /home/javier/.rvm/gems/ruby-2.0.0-p0/gems/sass-3.2.8/lib/sass/exec.rb:315:in

parse'
from /home/javier/.rvm/gems/ruby-2.0.0-p0/gems/sass-3.2.8/lib/sass/exec.rb:21:in

<top (required)>'
from /home/javier/.rvm/gems/ruby-2.0.0-p0/bin/sass:23:in

4

4 回答 4

12

我尝试了这些答案,但都没有奏效,所以我做了更多的研究。显然,问题出在listenSASS 使用的 gem 上。Sass 仅与 listen 0.7 兼容。

我能够通过运行以下两个命令(以 root 身份)使其工作:

gem uninstall listen
gem install listen -v 0.7.3
于 2015-04-05T19:56:43.640 回答
5

我遇到过同样的问题。您只需要在 sudo 模式下运行该命令。

sudo sass --watch sass/views.scss:views.css
于 2014-03-28T01:51:59.183 回答
3

我通过卸载使用 apt-get (ruby-sass) 安装的原始 sass 并使用 gem 重新安装来修复它

于 2014-09-12T03:14:09.530 回答
2

好吧,我解决了将 sass gem 更新到最新版本(3.2.9)的问题。我认为在使用 --watch 参数时,此更新提供了与 Ruby 2.0.0 更好的兼容性。现在一切都很好。

于 2013-05-28T22:34:42.953 回答