Jekyll使用Ruby 2.3 on macOS 10.13(HighSierra)

时间:2017-10-03 09:09:04

标签: ruby jekyll macos-high-sierra

当我运行$ jekyll$ jekyll serve时,会引发以下错误:

-bash: /usr/local/bin/jekyll: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby: bad interpreter: No such file or directory

我查了/System/Library/Frameworks/Ruby.framework/Versions/,版本2.0不存在。事实证明,在我更新HighSierra的同一天,安装了版本2.3。

我认为Jekyll仍然在寻找2.0版本。那么我怎么能告诉Jekyll使用Ruby 2.3?

修改

当我卸载并安装jekyll时,它失败了:

$ gem install jekyll
Building native extensions.  This could take a while...
ERROR:  Error installing jekyll:
    ERROR: Failed to build gem native extension.

    current directory: /Library/Ruby/Gems/2.3.0/gems/ffi-1.9.18/ext/ffi_c
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby -r ./siteconf20171111-1004-fgop80.rb extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /Library/Ruby/Gems/2.3.0/gems/ffi-1.9.18 for inspection.
Results logged to /Library/Ruby/Gems/2.3.0/extensions/universal-darwin-17/2.3.0/ffi-1.9.18/gem_make.out

解决方案:

我用Google搜索了can't find header files for ruby,结果发现" Xcode的命令行工具"必须安装,您可以在此处下载:https://developer.apple.com/download/more/

但是,我有macOS 10.13并且没有Xcode 8.x的命令行工具(这是我可以安装的最新版本)。这就是我在Mac App Store中搜索Xcode并安装Xcode 9的原因。一旦安装完毕,就会出现一个窗口弹出,表示" git需要命令行工具。你想安装吗?"。我点击了安装但仍无法运行$gem install jekyll

然后我尝试$ brew doctor。有一些警告我逐一修复,最后我能够运行$ gem install jekyll

1 个答案:

答案 0 :(得分:3)

我有同样的问题。我刚刚卸载了jekyll

gem uninstall jekyll

然后重新安装。

gem install jekyll

然后又恢复了工作。