为什么“罗盘监视”说它不能加载sass /脚本/节点(LoadError)?
我的罗盘监视命令有问题 – 直到几天前它工作得很好。 我没有改变我的configuration文件。
我重新安装了Compass,使用rvm来更新Ruby。 我检查了我的custom_require.rb文件,但我真的不知道要找什么。 它似乎试图加载文件“sass /脚本/节点”的地方,从http://sass-lang.com/docs/yardoc/Sass/Script/Node.html
我收集文件path – 但我什么也没有。
/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>'
有人有主意吗?
卸载sass并用以下命令重新安装:
gem uninstall sass gem install sass
我的sass安装出现了问题,并解决了这个问题。
在我的情况下,Sass版本与Compass不兼容。
修正:
-
卸载Sass AND Compass
gem uninstall compass gem uninstall sass
-
安装Compass 将自动安装一个兼容的Sass引擎
gem install compass
这个组合终于为我带来Compass和SASS Sourcemaps:
的Gemfile
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}
这个特定的版本适用于以下两个方面
gem 'sass', '3.3.0.alpha.149' gem 'compass', '0.12.2'
他们可能不兼容,这就是为什么你会得到这些错误(考虑到你使用的是最新版本)。
如果你使用的是Ubuntu,它可能是apt-get和rvm碰撞的问题。
尝试使用rvm implode
删除rvm,然后运行
sudo apt-get install ruby-compass
compass watch
为我工作。
上述答案的一个变种:对我来说(使用Bootstrap for Sass),原来是这样
gem install bootstrap-sass
这是解决这个问题所需要的。 对于我来说,更新我使用的Ruby版本后,Compass发生LoadError问题。
我相信这是由于与sass的版本冲突。
https://rubygems.org/gems/compass gem目前位于v0.12.16
– 将其添加到Gemfile
gem 'sass', '3.2.19' gem 'compass', '0.12.6'
您可能需要先卸载这两个gem的所有版本。
我能够通过这样做来解决这个问题
gem uninstall sass gem install sass -v 3.2.12
这绝对是由于版本依赖性问题,你最好是修复你的咕噜任务,使其向前兼容新版本的saas,指南针等等。
以下组合为我工作:
gem install compass --pre gem install sass -v 3.3.3
我必须设置正确版本的gemfile(这个错误是由SASS和Compass版本不匹配造成的)。 我用了下面的bundle 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"
我有同样的问题,然后我意识到,我有两个指南针的版本,所以通过这样做:
compass watch
或compass compile
编译器不知道应该使用哪个指南针版本进行编译。 所以,你可以做的是明确指出罗盘版本的工作:
compass _1.0.3_ watch
还有一个有趣的线程 。