2014-07-04 87 views
3

大家好,我用sudo gem install jekyll在我的Fedora 20上安装了jekyll,并得到以下错误。我已经成功安装了ruby和rubygems,在我看来,jekyll已经安装好了。但是当我输入jekyll serve时,页面将不会被创建,并且我收到了类似的消息。我是fedora和ruby的新手,感谢您的帮助。在linux上安装jekyll(fedora 20)

Successfully installed jekyll-2.1.0 
/usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- json/pure (LoadError) 
    from /usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /usr/share/gems/gems/json-1.7.7/lib/json.rb:60:in `rescue in <module:JSON>' 
    from /usr/share/gems/gems/json-1.7.7/lib/json.rb:57:in `<module:JSON>' 
    from /usr/share/gems/gems/json-1.7.7/lib/json.rb:54:in `<top (required)>' 
    from /usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /usr/share/gems/gems/rdoc-4.0.1/lib/rdoc/text.rb:16:in `<top (required)>' 
    from /usr/share/gems/gems/rdoc-4.0.1/lib/rdoc/code_object.rb:28:in `<class:CodeObject>' 
    from /usr/share/gems/gems/rdoc-4.0.1/lib/rdoc/code_object.rb:26:in `<top (required)>' 
    from /usr/share/gems/gems/rdoc-4.0.1/lib/rdoc/generator/markup.rb:59:in `<top (required)>' 
    from /usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /usr/share/gems/gems/rdoc-4.0.1/lib/rdoc/generator/darkfish.rb:6:in `<top (required)>' 
    from /usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /usr/share/gems/gems/rdoc-4.0.1/lib/rdoc/rdoc.rb:565:in `<top (required)>' 
    from /usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /usr/share/gems/gems/rdoc-4.0.1/lib/rdoc/rubygems_hook.rb:73:in `load_rdoc' 
    from /usr/share/gems/gems/rdoc-4.0.1/lib/rdoc/rubygems_hook.rb:238:in `setup' 
    from /usr/share/gems/gems/rdoc-4.0.1/lib/rdoc/rubygems_hook.rb:151:in `generate' 
    from /usr/share/gems/gems/rdoc-4.0.1/lib/rdoc/rubygems_hook.rb:56:in `block in generation_hook' 
    from /usr/share/gems/gems/rdoc-4.0.1/lib/rdoc/rubygems_hook.rb:55:in `each' 
    from /usr/share/gems/gems/rdoc-4.0.1/lib/rdoc/rubygems_hook.rb:55:in `generation_hook' 
    from /usr/local/share/ruby/site_ruby/rubygems/request_set.rb:178:in `call' 
    from /usr/local/share/ruby/site_ruby/rubygems/request_set.rb:178:in `block in install' 
    from /usr/local/share/ruby/site_ruby/rubygems/request_set.rb:177:in `each' 
    from /usr/local/share/ruby/site_ruby/rubygems/request_set.rb:177:in `install' 
    from /usr/local/share/ruby/site_ruby/rubygems/commands/install_command.rb:249:in `install_gem' 
    from /usr/local/share/ruby/site_ruby/rubygems/commands/install_command.rb:291:in `block in install_gems' 
    from /usr/local/share/ruby/site_ruby/rubygems/commands/install_command.rb:287:in `each' 
    from /usr/local/share/ruby/site_ruby/rubygems/commands/install_command.rb:287:in `install_gems' 
    from /usr/local/share/ruby/site_ruby/rubygems/commands/install_command.rb:202:in `execute' 
    from /usr/local/share/ruby/site_ruby/rubygems/command.rb:307:in `invoke_with_build_args' 
    from /usr/local/share/ruby/site_ruby/rubygems/command_manager.rb:167:in `process_args' 
    from /usr/local/share/ruby/site_ruby/rubygems/command_manager.rb:137:in `run' 
    from /usr/local/share/ruby/site_ruby/rubygems/gem_runner.rb:54:in `run' 
    from /bin/gem:21:in `<main>' 

回答

3

这是您的JSON解析器的问题。在您的堆栈跟踪中查看cannot load such file -- json/pure?在运行Jekyll之前,您需要能够成功运行gem install jsongem install json_pure

+0

谢谢,我试过你的解决方案,并安装了一些更多所需的软件工作。我还有一个问题要问,在这[post](http://stackoverflow.com/questions/17033621/jekyll-wont-load-anymore-after-update?rq=1),人们说'sudo gem install jekyll'和'gem install jekyll'有不同的效果,并且输入'gem list --all'有或没有'sudo',我有一个完全不同的宝石列表。这是为什么? – user3805728

+0

gem命令的'sudo'前缀为您提供了关于rubygems安装的全局透视。所以,如果您只运行'gem install'(没有sudo或root权限),您将在您当前的主目录下本地安装特定的gem。 – sentenza

4

试图通过它来安装ruby-devel -

sudo yum install ruby-devel 

和尝试重新安装jekyll -

sudo gem install jekyll 

,并且确保你已经安装nodejs

sudo yum install nodejs