在 macOS 10.13 (HighSierra) 上使用 Ruby 2.3 的 Jekyll

Mau*_*ipf 5 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
Run Code Online (Sandbox Code Playgroud)

我检查过/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
Run Code Online (Sandbox Code Playgroud)

解决方案:

我用谷歌搜索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.

chr*_*pel 5

我遇到过同样的问题。我刚刚卸载了 jekyll

gem uninstall jekyll
Run Code Online (Sandbox Code Playgroud)

然后再次安装它。

gem install jekyll
Run Code Online (Sandbox Code Playgroud)

然后它又起作用了。