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.
我遇到过同样的问题。我刚刚卸载了 jekyll
gem uninstall jekyll
Run Code Online (Sandbox Code Playgroud)
然后再次安装它。
gem install jekyll
Run Code Online (Sandbox Code Playgroud)
然后它又起作用了。