2014-01-12 138 views
28

我似乎无法使用this Vagrantfile获得有关Vagrant的指南针。请参阅bash脚本的其余使用权利 这里 (已删除的回购)(如果要配置Vagrant Ubuntu Box,请参阅Vaprobash!)。安装后无法使用指南针

因此,当我不得不使用grunt server时,我正在休学gruntjs课程。唯一的问题是它需要一个更新的ruby版本(1.9+我相信而不是1.8),它需要指南针。所以我通过安装RVM和安装最新的稳定版本解决了ruby部分。指南针应该很容易得到gem install compass,它似乎已被安装。但是,当我在compass -v型我得到的休耕错误:

/home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- sass/script/node (LoadError) 
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches/browser_support.rb:1:in `<top (required)>' 
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:2:in `block in <top (required)>' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:1:in `each' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:1:in `<top (required)>' 
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions.rb:9:in `<top (required)>' 
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass.rb:5:in `block in <top (required)>' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass.rb:4:in `each' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass.rb:4:in `<top (required)>' 
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/bin/compass:20:in `block in <top (required)>' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/bin/compass:8:in `fallback_load_path' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/bin/compass:19:in `<top (required)>' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/bin/compass:23:in `load' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/bin/compass:23:in `<main>' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `eval' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `<main>' 

所以我不知道除了错误告诉我它的文件丢失了什么错误。任何人都可以得到一些提示,可能是什么问题?

.bash_profile中包含的路径信息:

[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile 

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function* 

rvm -vruby -v工作得很好,安装gem install compasssass -v后似乎正常工作。

您可以使用Vagrant和VirtualBox复制所有内容。只需从我上面提到的github和vagrant up下载Vagrantfile。

回答

85

我在官方指南针Github问题的页面上寻求帮助,并得到了这个问题的答案。

GitHub问题是正确的here

如何解决这个问题:

当安装指南针(v0.12.2),它会下载最新的SASS v3.3.0.rc3(因为它是一个依赖),但是指南针不会与上海社会科学院最新工作。您可以将指南针升级到最新的alpha版本(0.13。*)或将sass降级到3.2。*。我选择最后一个:

gem uninstall sass --version 3.3.0.rc.3 
gem install sass --version 3.2.18 
compass -v # Working :) 

请确保您使用的是您安装的版本。找出通过键入以下:

sass --version 
+0

当我尝试在股票红宝石上安装Mac OS X Mavericks时,我遇到了一个非常类似的问题,并且这些步骤解决了它,谢谢! – jeromegamez

+1

太棒了!我一直在寻找一段时间。顺便说一句,我在Ubuntu上! – knibals

+0

这也适用于Centos 5.8 –

1

看到这个答案https://stackoverflow.com/a/21082978/497756 - 这是为了别的问题,但应该解决你的问题。

+0

好了,我休耕新鲜流浪箱配置后的每一步和'LS $ GEM_HOME /包装/ compass' ='/home/vagrant/.rvm/gems/输出红宝石2.1.0 /包装/ compass'。不知道如何处理结果。在使用'compass -v'时,我仍然会遇到同样的错误.BTW,如果那是您的想法,我不使用Codekit? – Ilyes512

+0

尝试'/home/vagrant/.rvm/gems/ruby-2.1.0/wrappers/compass -v' – mpapis

+0

是的,我也试过,并得到了同样的东西。我也想说,我没有使用任何'sudo',但是如果我做'sudo gem list'和'gem list',我得到2个不同的列表。指南针,但我只安装在没有'sudo'的列表中,所以看起来是正确的。 – Ilyes512