2012-08-25 10 views
20

Chcę zainstalować Octopress na moim komputerze. staram się robić to jakNie udało się zbudować natywnego rozszerzenia gem przy instalacji RedCloth-4.2.9 zainstalować Linux

Octopress document.

Kiedy biegnę

bundle install 

dostałem komunikat o błędzie

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. 

Więc biegnę

sudo gem install RedCloth -v '4.2.9' 

, otrzymałem ponownie komunikat o błędzie:

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

Nie poznałem żadnej wiedzy o rubinach.

+0

Co masz GNU? Czy zbudowałeś pakiet 'dev' dla Ruby? – Hauleth

Odpowiedz

11

Prawdopodobnie uaktualniono do wersji Mountain Lion i nie przebudowano jeszcze wersji ruby-1.9.2 z nowymi pakietami programistycznymi.

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

Jeśli nie masz pakiety dev Mountain Lion prawidłowo zainstalowane, należy skorzystać z instrukcji ThoughtBot.

+1

Uratował mnie, dzięki! –

+0

To zadziałało dla mnie ... dziękuję bardzo! – Remy

20

Również instalowałem Octopress i miałem ten sam problem co twój. Po sprawdzeniu pliku mkmf.log odkryłem, że gcc-4.2 nie został znaleziony. I Nawet zainstalowałem xcode za pomocą narzędzi wiersza poleceń. Działało gdy zrobiłem dowiązanie symboliczne takiego:

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

To działało dla mnie, ale dopiero po tym, jak nabyłem gcc-4.2 w pierwszej kolejności. Aby to zrobić: 'brew tap homebrew/dupes && brew napisz zainstaluj apple-gcc42'. [Kredyt.] (Http://robots.thoughtbot.com/post/27985816073/the-hitchhikers-guide-to-riding--mountain-lion) –

+0

To zdecydowanie mnie uratowało. Dzięki! – kyletaylored

+0

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

29

Moje rozwiązanie Ubuntu 12.04 jest zainstalować wersję ruby1.9.1-pełne, które mogą rozwiązać ten problem.

sudo apt-get install ruby1.9.1-full 

można wykonać polecenie:

sudo update-alternatives --config ruby 

wybrać altiernative rubin, który został zainstalowany. a następnie wykonać poniżej poleceń, aby zakończyć Deploy 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 

poniżej poleceń można znaleźć od octopress wdrożyć stronę wytycznych:

rake setup_github_pages 
sudo rake setup_github_pages 
sudo rake generate 
sudo rake deploy 

nadzieję, że to pomocne dla was, dzięki

+0

Działa na Raspberry Pi, dzięki. – ahgood

+1

To nadal działa w systemie Ubuntu 13.10. – tatsuhirosatou

+3

To właśnie rozwiązało mój problem w Ubuntu 14.04. –

1

go okaże się, że nie używasz rvm do zarządzania twoją instalacją ruby. Myślę, że najlepiej byłoby spróbować RVM, tutaj jest bardzo dobrym przewodnikiem, można zatrzymać bez instalacji szyn: ruby with rvm

po prostu

$gem install RedCloth 

Niezarządzane ruby ​​klejnoty są ból, staram się ich unikać.

20

naprawiłem ten problem poprzez uruchomienie

sudo apt-get install ruby-dev 

jak opisano w this blog post.

+1

Rozwiązało to dla mnie problem na Linux Mint 17 (w oparciu o Ubuntu 14.04). – KajMagnus

+0

Zobacz także http://stackoverflow.com/questions/13767725/unable-to-install-gem-failed-to-build-gem-native-extension-cannot-load-such. Brak zainstalowanego pakietu ruby-dev wydaje się być częstą przyczyną tego błędu instalacji. –

+0

Rozwiązałem problem również dla mnie. –

6

Dla Ubuntu 14.04 po prostu to zrobić:

sudo apt-get install ruby1.9.3 

powinny pracować dla 13.10 i 13.04 też. (Nie testowano)

+1

Zrobiłbym to jako 'install ruby1.9.3'. Ta przestrzeń pozwala na pewne zamieszanie. –

+0

@EricAnderson Przestrzeń została usunięta. Dziękuję Ci. –

0

Żadna z odpowiedzi nie zadziałała na moim Ubuntu 14.04.1 LTS. Uaktualnienie do ruby ​​2.0 rozwiązaniu problemu dla mnie:

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

Upewnij się także pakiet build-essential zainstalowany. Można to sprawdzić za pomocą

dpkg -l | grep build-essential

lub po prostu zainstalować go bez sprawdzania

sudo apt-get install build-essential

dla mnie na Ubuntu 14.04.1 LTS, po upewnieniu build-essential jest zainstalowane, polecenie bundle install działa/buduje również z Ruby 1 .9.3.

Powiązane problemy