我想安装指南针html5 boilerplate gem。当我尝试安装它时,我收到以下错误。
$ sudo gem install html5-boilerplate
ERROR: Error installing html5-boilerplate:
compass-h5bp requires Ruby version ~> 2.0.
然后,当我检查我的红宝石版本时,它说:
$ ruby -v
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
但之前我使用过RVM,所以我认为我可以改变版本但是当我检查它时我说我已经使用了ruby-2.2.0。
$ rvm list
rvm rubies
=* ruby-2.2.0 [ x86_64 ]
# => - current
# =* - current && default
# * - default
我认为我必须遗漏一些明显的东西,因为我使用过Ruby和RVM已经有一段时间了。
更新1
我按照@tadman的建议运行了以下命令,看起来似乎使用了错误的路径。
~:$ cd ~/.rvm/bin
bin:$ ls
ruby-rvm-env rvm rvm-auto-ruby rvm-exec rvm-prompt rvm-shebang-ruby rvm-shell rvm-smile rvmsudo
bin:$ which ruby
/usr/bin/ruby
在我的.bash_profile
中修正路径之后,ruby版似乎是正确的,但在尝试安装html5-boilerplate gem时我仍然遇到同样的错误?
$ sudo gem install html5-boilerplate
ERROR: Error installing html5-boilerplate:
compass-h5bp requires Ruby version ~> 2.0.
$ ruby -v
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]
$ rvm list
rvm rubies
=* ruby-2.2.0 [ x86_64 ]
# => - current
# =* - current && default
# * - default
$ compass -v
Compass 1.0.3 (Polaris)
Copyright (c) 2008-2015 Chris Eppstein
Released under the MIT License.
Compass is charityware.
Please make a tax deductable donation for a worthy cause: http://umdf.org/compass
我还在Ruby 1.9.1和RVM的ruby 2.2.0上安装了指南针gem。这可能与它有关吗?
$ pwd
/var/lib/gems/1.9.1/gems/compass-1.0.3
$ cd /home/ross/.rvm/gems/ruby-2.2.0/gems/compass-1.0.3
$ pwd
/home/ross/.rvm/gems/ruby-2.2.0/gems/compass-1.0.3
有没有办法检查哪个红宝石版罗盘正在使用?
答案 0 :(得分:1)
拥有RVM并正确安装RVM是两回事。造成这种不匹配的最常见原因是您的系统Ruby在PATH
中具有优先权。
在POSIX shell中,which ruby
会告诉您哪一个正在执行。这可能是错误的。
RVM通过操纵哪些Ruby出现在RVM bin路径中(通常是~/.rvm/bin
或类似的东西)来发挥其神奇作用。为了使其正常工作,您需要确保路径位于$PATH
。
您可能想尝试重新安装RVM存根,或检查它是否已正确加载到您的环境中。