加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Jekyll默认使用系统Ruby版本而不是RVM版本

发布时间:2020-12-16 19:16:02 所属栏目:百科 来源:网络整理
导读:我已经浏览了数十篇关于此的帖子,但仍然无法弄清楚/没有找到相同的情况.基本上,我有RVM默认设置为 Ruby 2.0.0,但当我用我的Jekyll页面cd到目录并运行 jekyll serve 结果是 /Library/Ruby/Site/1.8/rubygems/dependency.rb:298:in `to_specs': Could not find
我已经浏览了数十篇关于此的帖子,但仍然无法弄清楚/没有找到相同的情况.基本上,我有RVM默认设置为 Ruby 2.0.0,但当我用我的Jekyll页面cd到目录并运行
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 2.0.0@project-directory

然后跑

jekyll serve

它就像一个魅力.

我尝试在根目录中使用.rvmrc和.ruby-version文件,在这两种情况下,当我cd到目录时,没有任何东西表明它们已被识别.

解决方法

你的系统ruby安装了jekyll,因此它告诉堆栈跟踪
# from /usr/bin/jekyll:22

它在更新的jekyll之前调用二进制文件的原因可能是由于$PATH中的顺序所以要解决这个问题;一个选项是删除旧的jekyll二进制文件:

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

这应该足够了.现在再试一次.

另外,鉴于gem可能与二进制一起安装,尝试删除旧的gem版本.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读