Ich verwende Fedora 14 und habe MySQL- und MySQL-Server 5.1.42 installiert und ausgeführt .. Nun 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.
Für diejenigen, die durch die akzeptierte Antwort verwirrt sein könnten, müssen Sie auch die Ruby-Header installiert haben [Ruby-devel].
Der Artikel, der mein Fell gespeichert hat, ist hier .
Und dies ist die überarbeitete Lösung (beachten Sie, dass ich auf Fedora 13 bin):
yum -y install gcc mysql-devel Ruby-devel rubygems
gem install -y mysql -- --with-mysql-config=/usr/bin/mysql_config
Für Debian und andere Distributionen, die Pakete im Debian-Stil verwenden, werden die Ruby-Entwicklungsheader installiert von:
Sudo apt-get install Ruby-dev
Für Ubuntu werden die Ruby-Entwicklungsheader installiert von:
Sudo apt-get install Ruby-all-dev
Wenn Sie eine frühere Version von Ruby (z. B. 2.2) verwenden, müssen Sie Folgendes ausführen:
Sudo apt-get install Ruby2.2-dev
(wobei 2.2 Ihre gewünschte Ruby-Version ist)
Red Hat, Fedora:
yum -y install gcc mysql-devel Ruby-devel rubygems
gem install -y mysql -- --with-mysql-config=/usr/bin/mysql_config
Debian, Ubuntu:
apt-get install libmysqlclient-dev Ruby-dev
gem install mysql
Arch Linux:
pacman -S libmariadbclient
gem install mysql
Für alle, die dies 2015 lesen: Wenn Sie das Paket Ruby2.0
installiert haben, müssen Sie den entsprechenden Ruby2.0-dev
installieren, um die entsprechenden Ruby-Header zu erhalten. Dasselbe gilt für Ruby2.1
und Ruby2.2
usw. Zum Beispiel:
$ Sudo apt-get install Ruby2.2-dev
es scheint, dass die
yum install Ruby-devel
war genug für mich, um aufzutreten
gem install datamapper
danach.
Möglicherweise müssen Sie weitere Pakete installieren:
yum install gcc gcc-c++
in der Lage sein, native Erweiterungen zu erstellen
Dieser Beitrag hat mir geholfen. Danke vielmals.
Unter Linux (Ubuntu 12.10) musste ich laufen
Sudo apt-get install Ruby
Sudo apt-get install rubygems
Sudo apt-get install Ruby-dev
bevor ich erfolgreich laufen konnte
Sudo gem install jekyll
Ich habe die Lösung hier gefunden.
# yum install mysql-devel gcc make
# gem install mysql -- --with-mysql-config=/usr/bin/mysql_config
MAC-Benutzer können mit diesem Problem konfrontiert werden, wenn die Xcode-Tools nicht ordnungsgemäß installiert werden.
xcode-select --install
Wenn Sie gem installiert haben und Ruby nicht in der Lage ist, Rails zu installieren. Dann installieren Sie Ruby dev lib.
Sudo apt-get install Ruby-dev
Für mich geht das. Ich habe die andere Lösung ausprobiert.
Red Hat, Fedora:
Sudo dnf -y install gcc-c++ redhat-rpm-config Ruby-devel gcc mysql-devel rubygems
Sudo apt-get install Ruby-dev
Dieser Befehl hat das Problem für mich gelöst!
Für diejenigen, die immer noch Probleme haben, wie ich (ich verwende Ubuntu 16.04), musste ich die folgenden Befehle eingeben, um einige Juwelen wie bcrypt, pg und andere zu installieren. Sie sind alle den obigen ähnlich, bis auf eine.
Sudo apt-get install Ruby-dev -y
Sudo apt-get install libpq-dev -y
Sudo apt-get install libmysqlclient-dev
Sudo apt-get install build-essential patch -y
Dies erlaubte mir, Edelsteine wie PG, bcrypt und recaptcha zu installieren.
Meine ursprüngliche Lösung bestand darin, die obigen Fehler durch die Installation von Ruby-devel
, patch
und rubygems
zu beheben.
Mein Problem war etwas anders, da bcrypt 3.1.11 immer noch Probleme beim Kompilieren und Installieren auf Fedora 23 hatte. Ich benötigte zusätzliche Pakete. Nachdem ich sichergestellt hatte, dass ich das Obige 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 stellte sicher, dass mir keine C-Compiler-Tools fehlten Sudo dnf group install "C Development Tools and Libraries"
Dann habe ich Sudo dnf install redhat-rpm-config
ausgeführt, um das oben aufgelistete gcc-Problem zu beheben.
Eine Beschreibung finden Sie hier auf Fedore Project . Sie können auch Antworten auf andere Bedürfnisse finden.
Es ist notwendig, redhat-rpm-config zu installieren. Ich denke es löst dein Problem!
Das hat für mich funktioniert:
yum -y install gcc mysql-devel Ruby-devel rubygems
in openSUSE:
zypper in Ruby-devel
Funktioniert für mich :)
Sie müssen folgende Pakete installiert haben:
Ruby-dev
gcc
libffi-dev
make
Hier ist der Befehl für Debian Distro:
Sudo apt install gcc Ruby-dev rubygems libgmp-dev libgmp3-dev make