安装RedCloth-4.2.9安装Linux时无法构建gem native扩展

时间:2012-08-25 04:25:32

标签: ruby redcloth octopress

我想在我的计算机上安装Octopress。 我试着像

那样做

Octopress document.

当我跑步时

bundle install

我收到了错误消息

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.

所以,我跑

sudo gem install RedCloth -v '4.2.9'

然后,我又收到了一条错误消息:

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

我没有学过任何关于红宝石的知识。

8 个答案:

答案 0 :(得分:29)

我的ubuntu 12.04解决方案是安装ruby1.9.1完整版,可以解决此问题。

sudo apt-get install ruby1.9.1-full

你可以执行命令:

sudo update-alternatives --config ruby

选择已安装的altiernative ruby​​。 然后,执行以下命令来完成octopress部署:

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

以下命令可以从octopress部署指南页面找到:

rake setup_github_pages
sudo rake setup_github_pages
sudo rake generate
sudo rake deploy

希望它对你有所帮助,谢谢

答案 1 :(得分:20)

我也在安装Octopress并遇到了和你一样的问题。检查mkmf.log文件后,我发现找不到gcc-4.2。我甚至用命令行工具安装了xcode。当我制作这样的符号链接时它起作用了:

$ sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
$ bundle install

答案 2 :(得分:20)

我通过运行

解决了这个问题
sudo apt-get install ruby-dev

this blog post中所述。

答案 3 :(得分:11)

您可能已升级到Mountain Lion并且尚未使用新的开发包重建ruby-1.9.2安装。

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

如果您没有正确安装Mountain Lion dev软件包,请使用ThoughtBot说明。

答案 4 :(得分:6)

对于 Ubuntu 14.04 ,只需执行以下操作:

sudo apt-get install ruby1.9.3

也应该适用于13.10和13.04。 (未经测试)

答案 5 :(得分:1)

它表示您没有使用rvm来管理ruby安装。我认为最好是尝试rvm,这是一个非常好的指南,你可以在不安装rails的情况下停止:ruby with rvm

然后简单地

$gem install RedCloth

非托管红宝石是一种痛苦,我尽量避免它们。

答案 6 :(得分:0)

我的Ubuntu 14.04.1 LTS上没有任何答案。升级到ruby 2.0为我解决了这个问题:

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

答案 7 :(得分:0)

确保您还安装了build-essential软件包。您可以使用

进行检查
  

dpkg -l | grep build-essential

或只是安装它而不检查

  

sudo apt-get install build-essential

对于我在Ubuntu 14.04.1 LTS上,确保安装build-essential后,bundle install命令也可以使用Ruby 1.9.3工作/构建。