2014-07-04 133 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