2015-03-24 95 views
1

我想在本地运行我的Github页面网站。我已经在另一台使用Windows x64上的Ruby 2.1.0的机器上运行它。今天我想在运行Ruby 2.2.0的家用机器上本地运行。我在本地拉回我的回购,在与nokogiri的几个问题后跑bundle install我能够通过一个干净的bundle install。然后我开始运行命令bundle exec jekyll serve -w。在运行此命令我收到以下错误:Github-Pages错误本地运行Jekyll

/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'宝石1.0.3引起的。随后的版本1.0.4修复了它,这是'bundle update'的功能。 :) – 2015-05-04 02:28:45