Ich verwende Fedora 14 und habe MySQL und MySQL Server 5.1.42 installiert und ausgeführt. Jetzt habe ich versucht, dies als Root-Benutzer zu tun:
gem install mysql
Aber ich bekomme diesen Fehler:
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.h
Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out
Was ist hier los? In installiertem Ruby 1.8.7. und die neuesten Rubygems 1.3.7.
Antworten:
Für diejenigen, die durch die akzeptierte Antwort verwirrt sein könnten, wie ich es war, müssen Sie auch die Ruby-Header installiert haben [ Ruby-Devel ].
Der Artikel, der mein Fell gerettet hat, ist hier .
Und dies ist die überarbeitete Lösung (beachten Sie, dass ich auf Fedora 13 bin):
Für Debian und andere Distributionen, die Verpackungen im Debian-Stil verwenden, werden die Ruby-Entwicklungsheader installiert von:
Für Ubuntu werden die Ruby-Entwicklungsheader installiert von:
Wenn Sie eine frühere Version von Ruby verwenden (z. B. 2.2), müssen Sie Folgendes ausführen:
(wobei 2.2 Ihre gewünschte Ruby-Version ist)
quelle
yum -y install gcc ruby-devel rubygems
.Red Hat, Fedora:
Debian, Ubuntu:
Arch Linux:
quelle
ruby-devel
.Für alle, die dies 2015 lesen: Wenn Sie das Paket installiert haben
ruby2.0
, müssen Sie das Matching installierenruby2.0-dev
, um die entsprechenden Ruby-Header zu erhalten. Gleiches gilt fürruby2.1
undruby2.2
usw. Zum Beispiel:quelle
sudo dnf install ruby-devel
es scheint, dass die
war genug für mich aufzutreten
danach.
Möglicherweise müssen Sie weitere Pakete installieren:
um native Erweiterungen erstellen zu können
quelle
MAC-Benutzer können dieses Problem haben, wenn die xcode-Tools nicht ordnungsgemäß installiert sind. Unten finden Sie den Befehl, um das Problem zu beheben.
quelle
sudo gem install -n /usr/local/bin cocoapods
Daumen hochIch habe hier die Lösung gefunden .
quelle
Dieser Beitrag hat mir geholfen. Vielen Dank.
Unter Linux (Ubuntu 12.10) musste ich laufen
bevor ich erfolgreich rennen konnte
quelle
Wenn Sie gem und ruby installiert haben und keine Schienen installieren können, installieren Sie ruby dev lib.
Für mich geht das. Ich habe die andere Lösung ausprobiert.
quelle
Red Hat, Fedora:
quelle
Für diejenigen, die immer noch Probleme haben, wie ich es getan habe (ich verwende Ubuntu 16.04), musste ich die folgenden Befehle eingeben, um einige Edelsteine wie bcrypt, pg und andere zu installieren. Sie sind alle bis auf eine ähnlich wie oben.
Dadurch konnte ich Edelsteine wie PG, bcrypt und recaptcha installieren.
quelle
Meine erste Lösung bestand darin, die oben genannten Fehler durch die Installation zu lösen
ruby-devel
,patch
undrubygems
.Mein Problem war etwas anders, da bcrypt 3.1.11 immer noch Probleme beim Kompilieren und Installieren unter Fedora 23 hatte. Ich benötigte zusätzliche Pakete. Nachdem ich sichergestellt hatte, dass ich das oben genannte installiert hatte, hatte ich immer noch Probleme:
gcc: error: conftest.c: No such file or directory
gcc: error: /usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory
Von hier aus musste ich folgendes tun:
Ich habe dafür gesorgt, dass mir keine C-Compiler-Tools fehlen
sudo dnf group install "C Development Tools and Libraries"
Dann lief ich
sudo dnf install redhat-rpm-config
, um das oben aufgeführte gcc-Problem zu beheben.Einen Artikel über Fedore Project finden Sie hier . Möglicherweise finden Sie auch Antworten auf andere Anforderungen.
quelle
Dieser Befehl hat das Problem für mich gelöst!
quelle
Sie müssen folgende Pakete installieren:
Ruby-Dev
gcc
libffi-dev
machen
Hier ist der Befehl für debian distro:
quelle
in openSUSE:
Funktioniert für mich :)
quelle
Es ist notwendig, redhat-rpm-config zu installieren. Ich denke, es löst dein Problem!
quelle
Das hat bei mir funktioniert:
quelle
Möglicherweise haben Sie die RVM durcheinander gebracht.
Versuche es:
quelle
Nur um einen Pfad zur ruby.h-Datei in meinem PATH hinzuzufügen,
zum Beispiel:
quelle