Я недавно обнаружил, что команда 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'
Bundle install (вот и проблемы)
И побежал, в каталог, содержащий 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
Я заметил, что у меня есть несколько jekyll
и github-pages
драгоценных камней в моем каталоге /Library/Ruby/Gems/2.0.0/gems
(2.0.0) :
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) ! (тот, на который, похоже, нацелен GEM_PATH
при выполнении команды jekyll
)
Итак, возможно, я сделал что-то, что изменило версию или что-то в этом роде. (Я недавно установил osxfuse
и sshfs
(через brew), я не знаю, связано ли это с проблемой?)
Я ничего не знаю о Ruby, системе Gems и так далее. Возможно, решение очевидно, но я попробовал несколько вещей безуспешно.
(Извините, это немного долго, но я хотел быть максимально ясным!)