【发布时间】:2018-11-12 21:31:42
【问题描述】:
我最近发现jekyll 命令在我的电脑上不再工作了,在完美使用了几个月之后。
每当我尝试运行 jekyll 命令时,它都会显示:
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/dependency.rb:319:in `to_specs':
Could not find 'jekyll' (>= 0) among 34 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=/Users/Mael/.gem/ruby/2.3.0:/Library/Ruby/Gems/2.3.0:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/gems/2.3.0',
execute `gem env` for more information
from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/dependency.rb:328:in `to_spec'
from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_gem.rb:65:in `gem'
from /usr/local/bin/jekyll:22:in `<main>'
我使用的是 macOS Sierra (10.12.6)。
Xcode 已安装
我的电脑上安装了 Xcode:
$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
重新安装 Jekyll
检查 ruby 版本并(重新)安装捆绑程序
所以我尝试像第一次一样重新安装 Jekyll:
$ ruby -v
ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin16]
$ sudo gem install bundler
Successfully installed bundler-1.17.1
Parsing documentation for bundler-1.17.1
Done installing documentation for bundler after 4 seconds
1 gem installed
创建一个 Gemfile
我创建了一个 Gemfile,其中包含:
gem 'github-pages'
source 'https://rubygems.org'
捆绑安装(问题来了)
然后在包含 Gemfile 的目录中运行:
$ bundle install
这里,安装不起作用,它说:
An error occurred while installing commonmarker (0.17.13), and Bundler cannot continue.
Make sure that `gem install commonmarker -v '0.17.13' --source 'https://rubygems.org/'` succeeds before bundling.
In Gemfile:
github-pages was resolved to 192, which depends on
jekyll-commonmark-ghpages was resolved to 0.1.5, which depends on
jekyll-commonmark was resolved to 1.2.0, which depends on
commonmarker
所以我尝试了gem install commonmarker -v '0.17.13' --source 'https://rubygems.org/' 命令,它说:
Building native extensions. This could take a while...
ERROR: Error installing commonmarker:
ERROR: Failed to build gem native extension.
current directory: /Library/Ruby/Gems/2.3.0/gems/commonmarker-0.17.13/ext/commonmarker
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby -r ./siteconf20181112-6105-u9aca2.rb extconf.rb
creating Makefile
current directory: /Library/Ruby/Gems/2.3.0/gems/commonmarker-0.17.13/ext/commonmarker
make "DESTDIR=" clean
current directory: /Library/Ruby/Gems/2.3.0/gems/commonmarker-0.17.13/ext/commonmarker
make "DESTDIR="
make: *** No rule to make target `/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/universal-darwin16/ruby/config.h', needed by `arena.o'. Stop.
make failed, exit code 2
Gem files will remain installed in /Library/Ruby/Gems/2.3.0/gems/commonmarker-0.17.13 for inspection.
Results logged to /Library/Ruby/Gems/2.3.0/extensions/universal-darwin-16/2.3.0/commonmarker-0.17.13/gem_make.out
我注意到我的/Library/Ruby/Gems/2.0.0/gems (2.0.0) 目录中有几个jekyll 和github-pages gems:
github-pages-146
github-pages-health-check-1.3.5
...
jekyll-3.4.5
jekyll-avatar-0.4.2
jekyll-coffeescript-1.0.1
[and several other jekyll directories]
...
但不在我的/Library/Ruby/Gems/2.3.0/gems (2.3.0) 目录中! (运行jekyll 命令时似乎被GEM_PATH 锁定的那个)
所以,也许我做了一些改变版本的事情。 (我最近安装了osxfuse和sshfs(通过brew),不知道是不是和这个问题有关?)
我对 Ruby、Gems 系统等一无所知。也许解决方案很明显,但我尝试了几件事都没有成功。
(对不起,有点长,但我想尽可能清楚!)
【问题讨论】:
标签: ruby rubygems jekyll github-pages