Failed to build gem native extension when install

2020-02-16 08:42发布

I want to install Octopress in my computer. I try to do it like

Octopress document.

When I run

bundle install

I got error message

An error occured while installing RedCloth (4.2.9), and Bundler cannot continue.
Make sure that `gem install RedCloth -v '4.2.9'` succeeds before bundling.

So, I run

sudo gem install RedCloth -v '4.2.9'

then, I got a error message again:

ERROR:  Error installing RedCloth:
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>'

I hadn't learn any knowledge about ruby.

8条回答
仙女界的扛把子
2楼-- · 2020-02-16 09:22

None of the answers worked on my Ubuntu 14.04.1 LTS. Upgrade to ruby 2.0 fixed the problem for me:

sudo apt-get install ruby2.0 ruby2.0-dev
sudo ln -s /usr/bin/ruby2.0 /usr/bin/ruby
sudo ln -s /usr/bin/gem2.0 /usr/bin/gem
sudo gem install bundler
查看更多
男人必须洒脱
3楼-- · 2020-02-16 09:32

You've probably upgraded to Mountain Lion and have not rebuilt your ruby-1.9.2 install yet with the new development packages.

rvm --force install 1.9.2
gem install bundle --no-ri --no-rdoc
bundle install

If you don't have the Mountain Lion dev packages installed correctly, use the ThoughtBot instructions.

查看更多
何必那么认真
4楼-- · 2020-02-16 09:35

For Ubuntu 14.04 simply do this:

sudo apt-get install ruby1.9.3

Should work for 13.10 and 13.04 too. (Not tested)

查看更多
放我归山
5楼-- · 2020-02-16 09:36

My ubuntu 12.04 solution is install the ruby1.9.1-full version, that can resolve this issue.

sudo apt-get install ruby1.9.1-full

you can execute command:

sudo update-alternatives --config ruby

to select the altiernative ruby which you have installed. and then, execute below commands to finish the octopress deploy:

git clone https://github.com/erizhang/octopress.git octopress
cd octopress/
sudo gem install bundler
sudo gem install RedCloth -v '4.2.9'
bundle install
rake install

below commands you can find from octopress deploy guideline page:

rake setup_github_pages
sudo rake setup_github_pages
sudo rake generate
sudo rake deploy

Hope it's helpful for you, thanks

查看更多
可以哭但决不认输i
6楼-- · 2020-02-16 09:37

it apears you are not using rvm for managing your ruby installation. I think best would be to try rvm, here's a very good guide, you can stop without installing rails: ruby with rvm

Then simply

$gem install RedCloth

Unmanaged ruby gems are a pain, I try to avoid them.

查看更多
家丑人穷心不美
7楼-- · 2020-02-16 09:44

I was installing Octopress too and got the same problem as yours. After checking the mkmf.log file I figured out that gcc-4.2 had not been found. I Even installed xcode with the command line tools. It worked when I made a symlink like this:

$ sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
$ bundle install
查看更多
登录 后发表回答