2012-08-25 95 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。

相關問題