当我运行$ 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
解决方案:
我用谷歌搜索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
。