2011-10-04 15 views
542

Stavo cercando di installare i binari su Ubuntu Natty Narwhal 11.04, usando ruby1.9.1.`require ': nessun file da caricare - mkmf (LoadError)

Ho installato il rubino utilizzando apt-get install ruby1.9.1-full che contiene il pacchetto di sviluppo. Ho cercato su Google l'errore e tutti mi hanno suggerito di installare 1.9.1-dev che ho già.

Building native extensions. This could take a while... 
ERROR: Error installing rails: 
    ERROR: Failed to build gem native extension. 

     /usr/bin/ruby1.8 extconf.rb 
extconf.rb:36:in `require': no such file to load -- mkmf (LoadError) 
    from extconf.rb:36 


Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/bcrypt-ruby-3.0.1 for inspection. 
Results logged to /usr/lib/ruby/gems/1.8/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out 
+1

Si è verificato un errore parallelo durante il tentativo di installazione di web driver watir. Inoltre è stato corretto installando ruby1.0.1-dev – kaleidic

+0

possibile duplicato di [installazione di Rails fallita su Ubuntu con "impossibile caricare tale file - mkmf"] (http://stackoverflow.com/questions/12731904/rails-installation-failed -on-ubuntu-with-can-load-such-file-mkmf) –

risposta

966

Dopo qualche ricerca di una soluzione si scopre è necessario il pacchetto -dev, non solo ruby1.8. Quindi, se avete ruby1.9.1 fare

sudo apt-get install ruby1.9.1-dev 

o per installare la versione generica rubino, utilizzare (come da commento @lamplightdev):

sudo apt-get install ruby-dev 

dovrebbe risolvere il problema.

Prova locate mkmf per vedere se il file è effettivamente lì.

+217

il seguente installerà il pacchetto dev corrispondente alla versione ruby ​​attualmente installata: sudo apt-get install ruby-dev – lamplightdev

+0

sì ha funzionato per me. eseguire ruby ​​-v per trovare la versione se si desidera installare solo la versione ruby ​​corrente. –

+3

@lamplightdev Non ha funzionato per me, la versione ruby ​​era 1.9.3 e stava installando 1.8 Se ho provato a installare ruby-dev –

17

Hai provato:

sudo apt-get install ruby1.8-dev 
+3

Sto usando 1.9.1, perché devo installare ruby1.8-dev? –

+3

il tuo errore si riferisce a ruby1.8 –

+0

Questo è davvero strano, infatti ho installato 1.9.1 ma si legge 1.8, quando corro ruby ​​-v ottengo: ruby ​​1.8.7 (2010/08/16 patchlevel 302) [x86_64- linux] –

0

È possibile utilizzare RVM (Rubino Version Manager), che aiuta a gestire tutte le versioni di rubino sulla vostra macchina, che è molto utile per voi lo sviluppo (per la migrazione al rilascio instabile per rilascio stabile)

o per Linux (Ubuntu) andare per sudo apt-get install ruby1.8-dev

poi sudo gem install rails per verificare che faccia rails -v che mostrerà la versione su rotaie

dopo che è possibile installare i pacchetti (gemme necessarie per lo sviluppo)

+0

È ancora possibile utilizzare RVM su Linux. Lo sto facendo (ma ho ancora il problema di questo errore mkmf durante l'installazione delle rotaie) – thesecretmaster

183

Questa è la risposta che ha funzionato per me. Era nei commenti di cui sopra, ma merita il suo giusto posto come risposta per Ubuntu 12.04 rubino 1.8.7

sudo apt-get install ruby-dev 
# if above doesnt work make sure you have build essential 
sudo apt-get install build-essential 
+0

Vale anche la pena notare che se si desidera utilizzare il software center di Ubuntu c'è un add-on per ruby-dev che è possibile selezionare per l'intestazione file per la compilazione di moduli di estensione '. – RightHandedMonkey

+0

Ho usato 'sudo apt-get install ruby1.9.1-dev' con ruby ​​1.9.3 prima di vedere il commento o questa risposta, e questo mi ha permesso di creare l'estensione delle guide. Non sono sicuro che la mancata corrispondenza di versioni del genere possa causare un mal di testa in seguito, ma è necessario notare che le guide sono state installate correttamente utilizzando una leggera modifica della risposta ufficialmente accettata. – DWils

+0

Cosa succede se hai RVM? Allora non hai già la versione rubino di cui hai bisogno? – thesecretmaster

35

Ho anche bisogno di build-essential installato:

sudo apt-get install build-essential 
+0

Questo era il biglietto giusto qui .. Immagino di dover installare anche ruby-dev ma non ha funzionato fino a quando non ho installato anche build-essential. un milione grazie – unc0nnected

29

Il problema è ancora è ricorsiva su Ubuntu 13/04/13,10/14,04

e

sudo apt-get install ruby1.9.1-dev 

ha funzionato per me va bene. Quindi, se stai usando Ubuntu 13.04/13.10/14.04, usare questo sarà davvero utile.

Questo funziona anche se la versione rubino è 1.9.3. Questo è perché non ci sono ruby1.9.3-dev disponibile nel repository ...

+1

Sì, anche questo ha funzionato per me su ruby1.9.3. Non c'era un pacchetto nel repository di ubuntu per ruby1.9.3-dev. – DWils

+1

Anche su Ubuntu 14.04 ... – CMPSoares

+0

non più ... lavorato dopo aver installato rvm da rvm.io con --ruby - e probabilmente meglio apt-get rimuovere ruby ​​prima – dagelf

10

ho ottenuto l'errore simile quando installare fascio

sudo apt-get install ruby-dev 

grandi opere per me e risolvere il problema Mint 16 ruby1.9.3

Problemi correlati