【问题标题】:install jekyll on linux(fedora 20)在 linux (fedora 20) 上安装 jekyll
【发布时间】:2014-07-04 14:15:47
【问题描述】:

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

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>'

【问题讨论】:

    标签: ruby linux rubygems jekyll fedora20


    【解决方案1】:

    尝试通过这个安装ruby-devel -

    sudo yum install ruby-devel
    

    并尝试重新安装jekyll -

    sudo gem install jekyll
    

    还要确保您已安装 nodejs

    sudo yum install nodejs
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 谢谢,我尝试了您的解决方案并安装了一些更多必需的软件,并且成功了。我还有一个问题要问,在这个post,人们说sudo gem install jekyllgem install jekyll 有不同的效果,输入gem list --all 有或没有sudo,我得到了一个完全不同的宝石列表。这是为什么呢?
      • gem 命令的sudo 前缀为您提供了 ruby​​gems 安装的全局视角。因此,如果您只运行 gem install(没有 sudo 或 root 权限),您将在当前主目录下本地安装特定的 gem。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-25
      • 2014-11-03
      相关资源
      最近更新 更多