2013-12-09 77 views
8

我已经浏览了数十篇关于此的帖子,仍然无法完全弄清楚/还没有找到相同的情况。基本上,我有RVM使用默认设置为红宝石2.0.0,但是当我到该目录与我的化身网页和运行Jekyll默认为系统Ruby版本而不是RVM版本

jekyll serve 

结果是

/Library/Ruby/Site/1.8/rubygems/dependency.rb:298:in `to_specs': Could not find 'jekyll' (>= 0) among 5 total gem(s) (Gem::LoadError) 
from /Library/Ruby/Site/1.8/rubygems/dependency.rb:309:in `to_spec' 
from /Library/Ruby/Site/1.8/rubygems/core_ext/kernel_gem.rb:47:in `gem' 
from /usr/bin/jekyll:22 

即使在同一目录当我运行

ruby -v 

结果是

ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin12.5.0] 

如果我运行

rvm use [email protected] 

,然后运行

jekyll serve 

它就像一个魅力。

我已经尝试在根目录中使用.rvmrc和.ruby -version文件,并且在两种情况下,当我cd到目录时都没有任何表示这些文件被识别。

回答

13

您的系统Ruby有哲基尔安装,所以它告诉堆栈跟踪

# from /usr/bin/jekyll:22 

它要求你更新的化身之前二进制可能是由于你的$ PATH中的顺序,以便解决这个的原因;一个选项是删除旧的jekyll二进制:

$ which jekyll #=> /usr/bin/jekyll 
$ sudo rm `which jekyll` 

这应该就够了。现在再试一次。

此外,鉴于宝石可能与该二进制文件一起安装,尝试删除旧的宝石版本。

$ rvm use system 
$ ruby -v #=> ruby 1.8.7 

$ gem uninstall jekyll # add sudo if you get a permission error 
+2

美丽,那很好。在确定我已经完成'rvm use 2.0.0 --default'之后,我只好在2.0.0版本上重新安装Jekyll,因为我忘记了我第一次安装它时使用的是sudo系统Ruby版本(1.8)。万分感谢! – tylcole