为什么“指南针监视”说它无法加载sass / script / node(LoadError)?


70

我的指南针监视命令有问题-直到几天前它都可以正常工作。我没有对配置文件进行任何更改。

我重新安装了Compass,使用rvm更新了Ruby。我检查了custom_require.rb文件,但我真的不知道要查找什么。似乎正在尝试将文件“ sass / script / node”加载到某个地方,并从http://sass-lang.com/docs/yardoc/Sass/Script/Node.html我收集了文件路径-但那里什么也没有。

/Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require': cannot load such file -- sass/script/node (LoadError)
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches/browser_support.rb:1:in `<top (required)>'
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:2:in `block in <top (required)>'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:1:in `each'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:1:in `<top (required)>'
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass/sass_extensions.rb:9:in `<top (required)>'
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass.rb:5:in `block in <top (required)>'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass.rb:4:in `each'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass.rb:4:in `<top (required)>'
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/bin/compass:20:in `block in <top (required)>'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/bin/compass:8:in `fallback_load_path'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/bin/compass:19:in `<top (required)>'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/bin/compass:19:in `load'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/bin/compass:19:in `<main>'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `eval'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `<main>'

谁有想法?


29
解决它!我需要重新安装sass-我最初尝试运行,gem install sass但首先需要运行 gem uninstall sass。简单的错误,虽然我不确定原因,但似乎与依赖关系有关。
Sam Purcell

2
3.3.0.alpha版本存在类似问题。稳定的标准SASS版本似乎解决问题..
jfroom

免费免费,将您的修复程序格式化为答案并标记为已回答-提出该问题的人找到的解决方案对后代和公众也同样有用。
iono

就像您在评论中写的@SamPurcell,通过重新安装SASS,我解决了相同的问题。谢谢。我认为您应该写一个答案并接受它。
gontard 2014年

Answers:


113

卸载sass并使用以下命令重新安装它:

gem uninstall sass
gem install sass

我的sass安装出现问题,这样做解决了该问题。


我很喜欢这么简单的东西可以解决这些问题...我还必须为此提供Google和SO道具,因为它是查询结果中的第二个选项
beauXjames 2014年

1
这在OS X上对我有用。实际上我的计算机上有2个sass版本,也许这就是为什么它对我不起作用的原因。卸载后,我同时卸载了两个版本,然后执行了'gem install sass',然后指南针工作了。
克里斯·里夫达尔2014年

从严格的负面角度来看,这是惊人的。(解决方案的形状,不是您的工作,迈克)
Parham 2014年

这很愚蠢-指南针不应该包含sass吗?
Nick Coad 2014年

5
我必须做宝石卸载指南针宝石安装指南针,然后它起作用了!
Asaf 2014年

24

就我而言,Sass版本与Compass不兼容。

FIX:

  1. 卸载Sass AND Compass

    gem uninstall compass
    gem uninstall sass
    
  2. 安装Compass ,后者将自动安装兼容的Sass引擎

    gem install compass
    

这真的很有帮助。确实,仅仅卸载sass并没有帮助我。
Alexander Beletsky

我自己尝试了一下,但没有成功-我必须使用gemfiles。也许我没有按正确的顺序执行这些命令?使用Gemfiles,您可以准确指定要安装的内容,并有助于避免将来从所需的版本升级之外的任何事情。
尼克

非常感谢你。卸载sass确实没有帮助。
dekisha 2014年

谢谢。我需要sudo
toesslab 2015年

13

这种组合终于为我工作,将Compass和SASS Sourcemap整合在一起:

宝石文件

gem 'sass', '3.3.0.alpha.149'
gem 'compass', '0.12.2'
gem 'compass-sourcemaps', "~> 0.12.2.sourcemaps.57a186c"

指南针config.rb

sass_options = {:sourcemap => true}

谢谢。那花了永远。sass 3.3.0.alpha.149和指南针0.12.2的组合可以解决问题。
TaylorMac,2014年

检出RubyGems找出与您的指南针版本完全相同的依赖关系-rubygems.org/gems/compass。有关如何在gemfile中执行版本范围的信息,请参阅我的文章。
尼克


4

如果您使用的是Ubuntu,则apt-get和rvm冲突可能是一个问题。

尝试使用删除rvm,rvm implode 然后运行

sudo apt-get install ruby-compass 

compass watch 之后为我工作。


3

以上答案的一种变化:对我来说(使用Bootstrap for Sass),事实证明是

gem install bootstrap-sass

解决该问题所需的工具。对我来说,在我更新了所使用的Ruby版本之后,Compass出现了LoadError问题。


1
为我修复它!(没有意识到bootstrap-sass是一件红宝石的事情)以为这是npm软件包或我已经安装的其他软件包。
Cory Danielson 2014年

3

我相信这是由于与sass的版本冲突。

当前位于https://rubygems.org/gems/compassv0.12.16 gem-将其添加到Gemfile

gem 'sass', '3.2.19'
gem 'compass', '0.12.6'

您可能需要先卸载两个gem的所有版本。


这正是引导我走上解决这一问题的正确道路的原因,谢谢!
尼克

2

我可以通过这样做来修复它

gem uninstall sass
gem install sass -v 3.2.12

这绝对是由于版本依赖性问题引起的,您最好修复一下grunt任务,使其与新版本的saas,指南针等向前兼容。


1

我遇到了同样的问题,然后我意识到我有两个指南针版本,因此可以这样做:

compass watch 要么 compass compile

编译器不知道应使用哪个罗盘版本进行编译。因此,您可以做的是明确指示要使用的指南针版本:

compass _1.0.3_ watch

还有另一个有趣的话题


0

以下组合对我有用:

gem install compass --pre
gem install sass -v 3.3.3

0

我必须使用正确的版本设置一个gemfile(对于我来说,此错误是由不匹配的SASS和Compass版本引起的)。我使用了以下wbundle install来解决问题:

source "https://rubygems.org"

gem 'bootstrap-sass', "~> 3.2.0"
gem 'sass', [ "< 3.5" , ">= 3.3.13" ]
gem 'compass', "~> 1.0.1"
gem 'compass-core', "~> 1.0.1"
gem 'compass-import-once', "~> 1.0.5"
gem 'chunky_png', "~> 1.2"
gem 'rb-fsevent', ">= 0.9.3"
gem 'rb-inotify', ">= 0.9"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.