ruby - Gem 在安装 jekyll 时无法构建 native 扩展

标签 ruby ubuntu installation jekyll ansible

我有这些任务可以在 ubuntu 14.04 VM 上安装 jekyll :

  - name: install ruby
    apt: pkg=ruby state=latest
    sudo: yes

  - name: install jekyll
    gem: name=jekyll version=2.5.3
    sudo: yes

jekyll 安装失败并显示此消息:

failed: [192.168.78.29] => {"cmd": "/usr/bin/gem install --version 2.5.3 --include-dependencies --user-install --no-rdoc --no-ri jekyll", "failed": true, "rc": 1}
stderr: WARNING:  You don't have /root/.gem/ruby/1.9.1/bin in your PATH,
      gem executables will not run.
ERROR:  Error installing jekyll:
    ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from extconf.rb:1:in `<main>'


Gem files will remain installed in /root/.gem/ruby/1.9.1/gems/yajl-ruby-1.2.1 for inspection.
Results logged to /root/.gem/ruby/1.9.1/gems/yajl-ruby-1.2.1/ext/yajl/gem_make.out

stdout: INFO:  `gem install -y` is now default and will be removed
INFO:  use --ignore-dependencies to install only the gems you list
Building native extensions.  This could take a while...

msg: WARNING:  You don't have /root/.gem/ruby/1.9.1/bin in your PATH,
      gem executables will not run.
ERROR:  Error installing jekyll:
    ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from extconf.rb:1:in `<main>'


Gem files will remain installed in /root/.gem/ruby/1.9.1/gems/yajl-ruby-1.2.1 for inspection.
Results logged to /root/.gem/ruby/1.9.1/gems/yajl-ruby-1.2.1/ext/yajl/gem_make.out

FATAL: all hosts have already failed -- aborting

最佳答案

尝试使用 RVM 重新安装 ruby

关于ruby - Gem 在安装 jekyll 时无法构建 native 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28788240/

相关文章:

linux - 这是关于具有一个源和多个目标的 Linux 软链接(soft link) :)

linux - 我从 .profile 和 .bashrc 中删除了路径,但仍然存在于 $PATH 中

xcode - OSX Mac 应用商店 : how to install a daemon shell script

c++ - 在应用程序更新时更新部分数据库

ruby - 二维数组,推到一个数组显示在所有数组中?

ruby-on-rails - 将以数组为键的 ruby​​ 哈希转换为以单个值作为键的 ruby​​ 哈希的最有效方法

python - 如何创建自定义 crontab?

c++ - 在 Windows 10 上为 C++ 安装 tesseract

Ruby 未定义的方法小写

ruby-on-rails - Neo4j.rb : as_json how to ignore root?