516 Stimmen

Fehler beim Installieren von JSON-Gem 'mkmf.rb kann Kopfzeilen für Ruby nicht finden'

Zum Kontext: Es handelt sich um einen Remote-Server, der eine Firewall hat. Ich richte meine Umgebung über einen Proxy ein. Ich habe ruby 1.8.7. Wenn ich versuche, gem install...

sudo gem install --http-proxy : json

erhalte ich folgenden Fehler:

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

/usr/bin/ruby extconf.rb
mkmf.rb kann die Headerdateien für Ruby unter /usr/lib/ruby/ruby.h nicht finden.

Gem-Dateien bleiben in /usr/lib64/ruby/gems/1.8/gems/json-1.8.1 zur Überprüfung installiert.
Ergebnisse sind in /usr/lib64/ruby/gems/1.8/gems/json-1.8.1/ext/json/ext/generator/gem_make.out protokolliert

Weil ich unsicher war, was das Problem ist, habe ich gegoogelt und folgendes gefunden

Irgendwelche Hinweise? Vielen Dank!

5voto

Shawn Lauzon Punkte 6163

Auf Mac 10.14 scheinen die Header-Dateien nicht am richtigen Ort installiert zu sein. Anstatt Pfade wie die anderen Fixes zu ändern, konnte ich einfach Folgendes ausführen:

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Befolgen Sie die Anweisungen und das hat das Problem für mich gelöst.

3voto

bott Punkte 188

Sie müssen möglicherweise gcc installieren, nachdem Sie ruby-devel installiert haben.

1voto

Chester Fang Punkte 11

Xcode -> Einstellungen -> Speicherorte

Ändere die Befehlszeilentools auf Xcode 11.2.1

0voto

aleksander_si Punkte 586

Sie müssen das gesamte Ruby installieren und nicht nur das Minimumpaket. Der korrekte Befehl lautet:

sudo apt install ruby-full

Der folgende Befehl installiert ebenfalls kein vollständiges Ruby:

sudo apt-get install ruby2.3-dev

0voto

Gökçer Gökdal Punkte 901

Für Ubuntu 18, nach Überprüfung der Logdatei, die während der Installation erwähnt wurde

Ergebnisse protokolliert unter /var/canvas/vendor/bundle/ruby/2.5.0/extensions/x86_64-linux/2.5.0/nio4r-2.5.2/gem_make.out

mit

less /var/canvas/vendor/bundle/ruby/2.5.0/extensions/x86_64-linux/2.5.0/nio4r-2.5.2/gem_make.out

Ich habe festgestellt, dass make nicht gefunden wird. Also habe ich make installiert durch

sudo apt-get install make

alles hat funktioniert.

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