2015-03-24 3 views
1

Я пытаюсь запустить локальный веб-сайт Github. Я запускаю его на другой машине, использующей Ruby 2.1.0 для Windows x64. Сегодня я хотел запустить локально на своей домашней машине под управлением Ruby 2.2.0. Я вытащил свое репо локально, запустил bundle install после нескольких проблем с nokogiri, я смог пройти через чистый bundle install. Затем я приступил к выполнению команды bundle exec jekyll serve -w. После выполнения этой команды я получаю следующие ошибки:Ошибка Github-Pages Jekyll Locally

/Users/<me>/.rvm/gems/[email protected]/gems/commander 4.1.6/lib/commander/runner.rb:385:in block in require_program': program version required (Commander::Runner::CommandError) 
    from /Users/<me>/.rvm/gems/[email protected]/gems/commander-4.1.6/lib/commander/runner.rb:384:in `each' 
    from /Users/<me>/.rvm/gems/[email protected]/gems/commander-4.1.6/lib/commander/runner.rb:384:in require_program' 
    from /Users/<me>/.rvm/gems/[email protected]/gems/commander-4.1.6/lib/commander/runner.rb:52:in run!' 
    from /Users/<me>/.rvm/gems/[email protected]/gems/commander-4.1.6/lib/commander/delegates.rb:8:in run!' 
    from /Users/<me>/.rvm/gems/[email protected]/gems/commander-4.1.6/lib/commander/import.rb:10:in block in <top (required)>' 
/Users/<me>/.rvm/gems/ruby-2.2.0/gems/safe_yaml-1.0.3/lib/safe_yaml/load.rb:43:in <module:SafeYAML>': undefined method tagged_classes' for Psych:Module (NoMethodError) 
    from /Users/<me>/.rvm/gems/ruby-2.2.0/gems/safe_yaml-1.0.3/lib/safe_yaml/load.rb:26:in <top (required)>' 
    from /Users/<me>/.rvm/gems/ruby-2.2.0/gems/safe_yaml-1.0.3/lib/safe_yaml.rb:1:in require' 
    from /Users/<me>/.rvm/gems/ruby-2.2.0/gems/safe_yaml-1.0.3/lib/safe_yaml.rb:1:in <top (required)>' 
    from /Users/<me>/.rvm/gems/ruby-2.2.0/gems/jekyll-1.5.1/lib/jekyll.rb:21:in require' 
    from /Users/<me>/.rvm/gems/ruby-2.2.0/gems/jekyll-1.5.1/lib/jekyll.rb:21:in <top (required)>' 
    from /Users/<me>/.rvm/gems/ruby-2.2.0/gems/jekyll-1.5.1/bin/jekyll:7:in require' 
    from /Users/<me>/.rvm/gems/ruby-2.2.0/gems/jekyll-1.5.1/bin/jekyll:7:in <top (required)>' 
    from /Users/<me>/.rvm/gems/ruby-2.2.0/bin/jekyll:23:in load' 
    from /Users/<me>/.rvm/gems/ruby-2.2.0/bin/jekyll:23:in <main>' 
    from /Users/<me>/.rvm/gems/ruby-2.2.0/bin/ruby_executable_hooks:15:in eval' 
    from /Users/<me>/.rvm/gems/ruby-2.2.0/bin/ruby_executable_hooks:15:in <main>' 

Я начинаю верить, что этот вопрос не делать с моей установки, но с несовместимостью с Джекила на рубин 2.2.0. Любая помощь будет оценена по достоинству.

Спасибо!

ответ

9

Итак, после некоторого дополнительного рытья я пропустил простой шаг. После выполнения команды bundle install мне нужно было запустить bundle update. Как только я это сделал, версия jekyll и другие зависимости были доведены до правильной версии, и тогда я смог запустить команду bundle exec jekyll serve -w без каких-либо ошибок.

Кажется странным, что первоначальная команда установки не установила последнюю версию.

+2

Прохладный. Проблема на самом деле вызвана 'safe_yaml' gem 1.0.3. Следующая версия 1.0.4 исправляет ее, что и делает «пакетное обновление». :) –