当我运行$ 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
。
答案 0 :(得分:3)
我有同样的问题。我刚刚卸载了jekyll
gem uninstall jekyll
然后重新安装。
gem install jekyll
然后又恢复了工作。