我已经看了几十篇有关这个的帖子,但仍然无法弄清楚/没有找到相同的情况.基本上,我有RVM默认设置为Ruby 2.0.0,但当我用我的Jekyll页面cd到目录并运行
jekyll serve
Run Code Online (Sandbox Code Playgroud)
结果是
/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
Run Code Online (Sandbox Code Playgroud)
即使在我跑的同一目录中
ruby -v
Run Code Online (Sandbox Code Playgroud)
结果是
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin12.5.0]
Run Code Online (Sandbox Code Playgroud)
如果我跑
rvm use 2.0.0@project-directory
Run Code Online (Sandbox Code Playgroud)
然后跑
jekyll serve
Run Code Online (Sandbox Code Playgroud)
它就像一个魅力.
我尝试在根目录中使用.rvmrc和.ruby-version文件,在这两种情况下,当我cd到目录时,没有任何东西表明它们被识别.
Leo*_*cci 13
你的系统ruby安装了jekyll,因此它告诉堆栈跟踪
# from /usr/bin/jekyll:22
Run Code Online (Sandbox Code Playgroud)
它在更新的jekyll之前调用二进制文件的原因可能是由于你的$ PATH中的顺序所以要解决这个问题; 一个选项是删除旧的jekyll二进制文件:
$ which jekyll #=> /usr/bin/jekyll
$ sudo rm `which jekyll`
Run Code Online (Sandbox Code Playgroud)
这应该足够了.现在再试一次.
另外,鉴于gem可能与二进制一起安装,尝试删除旧的gem版本.
$ rvm use system
$ ruby -v #=> ruby 1.8.7
$ gem uninstall jekyll # add sudo if you get a permission error
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
922 次 |
| 最近记录: |