Jekyll 服务错误:找不到 gem jekyll (>= 0.a) (Gem::GemNotFoundException

Alv*_*aro 7 ruby rubygems bundler jekyll rvm

执行时sudo jekyll serve我收到以下错误:

Users/myusername/.rvm/rubies/ruby-2.4.2/lib/ruby/site_ruby/2.4.0/rubygems.rb:271:in 'find_spec_for_exe': can't find gem jekyll (>= 0.a) (Gem::GemNotFoundException)
from /Users/myusername/.rvm/rubies/ruby-2.4.2/lib/ruby/site_ruby/2.4.0/rubygems.rb:299:in 'activate_bin_path'
from /Users/myusername/.rvm/gems/ruby-2.4.2/bin/jekyll:23:in '<main>'
from /Users/myusername/.rvm/gems/ruby-2.4.2/bin/ruby_executable_hooks:15:in 'eval'
from /Users/myusername/.rvm/gems/ruby-2.4.2/bin/ruby_executable_hooks:15:in '<main>'
Run Code Online (Sandbox Code Playgroud)

如果有帮助:

  • jekyll -v回报jekyll 3.6.2
  • ruby -v回报ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin15]
  • gem -v回报2.6.14
  • bundle -v回报Bundler version 1.16.0

在我的 Gem 文件中,我有:

红宝石'2.4.2'

rmv list输出:

ruby-2.3.5 [ x86_64 ]
=* ruby-2.4.2 [ x86_64 ]

# => - current
# =* - current && default
#  * - default
Run Code Online (Sandbox Code Playgroud)

Alv*_*aro 6

我最终通过这样做解决了这个问题:

sudo rm -rf _site
bundle update
bundle exec jekyll serve
Run Code Online (Sandbox Code Playgroud)

然后总是使用orbundle exec jekyll serve代替。sudo jekyll servejekyll serve

感谢这篇文章中的答案,我得到了这个解决方案。