wake-up-neo.com

gem install: Die native Erweiterung von gem konnte nicht erstellt werden (Headerdateien werden nicht gefunden)

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.

340
Tim

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)

738
Brian Lacy

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
87
Nowaker

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
50
Dror S.

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

24
andrej

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
8
qkrijger

Ich habe die Lösung hier gefunden.

# yum install mysql-devel gcc make
# gem install mysql -- --with-mysql-config=/usr/bin/mysql_config
8
Tim

MAC-Benutzer können mit diesem Problem konfrontiert werden, wenn die Xcode-Tools nicht ordnungsgemäß installiert werden.

xcode-select --install
5
Ajit Singh

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. 

4

Red Hat, Fedora:

Sudo dnf -y install gcc-c++ redhat-rpm-config Ruby-devel gcc mysql-devel rubygems
2
mkungla
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.

1
Mike

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.

1
Andrew Lobban

Es ist notwendig, redhat-rpm-config zu installieren. Ich denke es löst dein Problem!

0
user3645907

Das hat für mich funktioniert:

yum -y install gcc mysql-devel Ruby-devel rubygems
0
Shveta Sachdeva

in openSUSE:

zypper in Ruby-devel

Funktioniert für mich :)

0
Raul Libório

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 
0
rmpestano