2012-08-25 96 views
20

我想在我的电脑中安装Octopress。 我尽量做到像无法在安装RedCloth-4.2.9时安装gem原生扩展安装Linux

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

我没有学过关于ruby的任何知识。

+0

你有什么GNU?你为Ruby构建'dev'包吗? – Hauleth

回答

11

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

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

如果你没有正确安装Mountain Lion开发软件包,使用ThoughtBot说明。

+1

救了我,谢谢! –

+0

这对我很有用......非常感谢! – Remy

20

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

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

这对我有用,但只有在我首先获得了gcc-4.2之后。要做到这一点:'酿造自来水/自酿啤酒 && brew install apple-gcc42'。 [信誉](http://robots.thoughtbot.com/post/27985816073/the-hitchhikers-guide-to-riding-a-mountain-lion) –

+0

这绝对救了我。谢谢! – kyletaylored

+0

http://stackoverflow.com/questions/8007683/gcc-4-2-version-missing – aleung

29

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

sudo apt-get install ruby1.9.1-full 

可以执行命令:

sudo update-alternatives --config ruby 

选择已安装该altiernative红宝石。 然后,下面执行命令来完成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 

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

+0

作品在树莓派,谢谢。 – ahgood

+1

这继续在Ubuntu 13.10上工作。 – tatsuhirosatou

+3

这只是在Ubuntu 14.04上解决了我的问题。 –

1

它apears你没有使用rvm来管理你的ruby安装。我认为最好是将尝试RVM,这里有一个很好的指导,你可以在不安装护栏停止:ruby with rvm

然后简单

$gem install RedCloth 

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

20

我通过运行

sudo apt-get install ruby-dev 

this blog post描述修复了这个问题。

+1

这解决了我在Linux Mint 17上的问题(基于Ubuntu 14.04)。 – KajMagnus

+0

另请参阅http://stackoverflow.com/questions/13767725/unable-to-install-gem-failed-to-build-gem-native-extension-cannot-load-such。没有安装ruby-dev软件包似乎是导致此安装错误的常见原因。 –

+0

为我解决了这个问题 –

6

对于的Ubuntu 14.04简单的做到这些:

sudo apt-get install ruby1.9.3 

应为13.10和13.04工作了。 (未测试)

+1

我会这样做'安装ruby1.9.3'。在那里的空间允许一些混乱。 –

+0

@EricAnderson空间已被删除。谢谢。 –

0

没有答案在我的Ubuntu 14.04.1 LTS上工作。升级到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 
0

确保你也有build-essential包安装。您可以检查使用

dpkg -l | grep build-essential

或简单地安装它,而不在Ubuntu 14.04.1 LTS检查

sudo apt-get install build-essential

对于我来说,确保build-essential是后安装,bundle install命令工作/建立罚款与Ruby 1 .9.3。

相关问题