2013-08-19 12 views
5

Hej Próbuję zainstalować szyny na nowej maszynie ubuntu. Mam zainstalowane ruby ​​i rvm, ale dostaję błąd "nie udało się zbudować rozszerzenia natywnego". Co to znaczy?Nie można zbudować natywnego rozszerzenia gem (mkmf (LoadError)) - Ubuntu 12.04

$ sudo gem install rails -v 3.2.9 

(bez sudo mówi, że nie ma uprawnień)

Następnie wyprowadza dużo 'ściągania plików' poleceń i ostatecznie ten błąd:

Building native extensions. This could take a while... 
    ERROR: Error installing rails: 
     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>' 


    Gem files will remain installed in /var/lib/gems/1.9.1/gems/json-1.8.0 for inspection. 
    Results logged to /var/lib/gems/1.9.1/gems/json-1.8.0/ext/json/ext/generator/gem_make.out 

Po wpisaniu

$rails server 

Mówi, że szyny nie są obecnie zainstalowane

+0

Czy widziałeś [ten wątek] (http://stackoverflow.com/questions/12552929/failed-to-build-gem-native-extension-rails-install?rq=1) –

+3

nie powinieneś używać 'sudo 'z rvm! – mpapis

Odpowiedz

16

Możliwy duplikat:

Unable to install gem - Failed to build gem native extension - cannot load such file -- mkmf (LoadError)

zależności od wersji ruby ​​, uruchom:

sudo apt-get install ruby1.9.1-dev 
+0

-1 wyjaśnienie proszę? – MrYoshiji

+4

użytkownik zainstalował ruby ​​z 'rvm', używając' sudo' przełącza go z zainstalowanego rvm ruby ​​(resetuje zmienne środowiskowe), twoje rozwiązanie nie wyjaśnia niczego, co tylko ustawia użytkownika, aby kontynuować ścieżkę 'sudo' – mpapis

+0

@mpapis Miałem to wydać długi czas wcześniej i naprawić go za pomocą tego polecenia. Również odpowiedź, którą podłączyłem (jak ta, którą AlthafHamez powiązał) dowodzi, że może rozwiązać problem mkmf LoadError. Gdzie jest odpowiedź wyjaśniająca, jak to naprawić i dlaczego to nie działa? – MrYoshiji

5

Jeśli używasz RVM, nie należy nigdy używać 'sudo'. Używanie sudo wywołuje biblioteki i takie z ścieżki rvm. Wypróbuj mieszkanie:

gem install rails -v3.2.9 

i sprawdź, czy to pomaga.

+0

Matka Boża to powinna być odpowiedź. Chwała tobie! – DtechNet

Powiązane problemy