570 Stimmen

`require': keine solche Datei zum Laden -- mkmf (LoadError)

Ich habe versucht, Rails auf Ubuntu Natty Narwhal 11.04 zu installieren, mit ruby1.9.1.

Ich installierte Ruby mit apt-get install ruby1.9.1-full die das Dev-Paket enthält. Ich habe den Fehler gegoogelt und alle haben vorgeschlagen, ich installiere die 1.9.1-dev, die ich bereits habe.

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

979voto

Emil Ivanov Punkte 36508

Nach einiger Suche nach einer Lösung stellt sich heraus, dass die -dev Paket benötigt wird, nicht nur ruby1.8 . Wenn Sie also ruby1.9.1 bei

sudo apt-get install ruby1.9.1-dev

oder um die allgemeine Ruby-Version zu installieren, verwenden Sie (wie in @lamplightdevs Kommentar):

sudo apt-get install ruby-dev

sollte das Problem beheben.

Versuchen Sie locate mkmf um zu sehen, ob die Datei tatsächlich vorhanden ist.

186voto

jmontross Punkte 3445

Das ist die Antwort, die bei mir funktioniert hat. War in den Kommentaren oben, aber verdient seinen rechtmäßigen Platz als Antwort für ubuntu 12.04 ruby 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

37voto

James Dunmore Punkte 1190

Ich musste auch build-essential installieren:

sudo apt-get install build-essential

30voto

kenju254 Punkte 451

Das Problem ist immer noch rekursiv auf Ubuntu 13/04/13.10/14.04

und

sudo apt-get install ruby1.9.1-dev

Das hat bei mir gut funktioniert. Also, wenn Sie mit Ubuntu 13.04/13.10/14.04 dann mit diesem wird wirklich in handliches kommen.

Dies funktioniert auch, wenn die Ruby-Version 1.9.3 ist. Das liegt daran, dass es keine ruby1.9.3-dev im Repository gibt...

18voto

Matteo Alessani Punkte 10094

Haben Sie es schon versucht?

sudo apt-get install ruby1.8-dev

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X