MySQL-Installation: FEHLER: Fehler beim Erstellen der nativen Gem-Erweiterung


76

Ich versuche, MySQL auf die neueste Version zu installieren, da irgendwo auf der Linie eine Installation schief läuft. Ich führe den Befehl aus gem install mysqlund erhalte Folgendes:

Native Erweiterungen erstellen. Dies kann eine Weile dauern ... FEHLER: Fehler beim Installieren von mysql: FEHLER: Fehler beim Erstellen der nativen Gem-Erweiterung.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb extconf.rb: 4: Warnung: Unsicheres, weltweit beschreibbares Verzeichnis / usr / bin in PATH, Modus 040777 extconf.rb: 4: Warnung: In der sicheren Welt beschreibbares Verzeichnis / usr / bin in PATH, Modus 040777 extconf.rb: 7: Warnung: In der unsicheren Welt beschreibbares Verzeichnis / usr / bin in PATH, Modus 040777 mkmf.rb kann keine Header-Dateien für Ruby unter / System finden /Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h

Gem-Dateien bleiben zur Überprüfung in /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 installiert. In /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out protokollierte Ergebnisse

Ich habe eine ganze Reihe von Dingen gesucht und ausprobiert, von der Installation bestimmter Versionen bis zum Versuch, Ruby ohne Glück neu zu installieren.

Irgendwelche Ideen, wo ich falsch liegen könnte?

Ich versuche, MySQL auf die neueste Version zu installieren, da irgendwo auf der Linie eine Installation schief läuft. Ich führe den Befehl aus gem install mysqlund erhalte Folgendes:

Native Erweiterungen erstellen. Dies kann eine Weile dauern ... FEHLER: Fehler beim Installieren von mysql: FEHLER: Fehler beim Erstellen der nativen Gem-Erweiterung.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb extconf.rb: 4: Warnung: Unsicheres, weltweit beschreibbares Verzeichnis / usr / bin in PATH, Modus 040777 extconf.rb: 4: Warnung: In der sicheren Welt beschreibbares Verzeichnis / usr / bin in PATH, Modus 040777 extconf.rb: 7: Warnung: In der unsicheren Welt beschreibbares Verzeichnis / usr / bin in PATH, Modus 040777 mkmf.rb kann keine Header-Dateien für Ruby unter / System finden /Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h

Gem-Dateien bleiben zur Überprüfung in /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 installiert. In /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out protokollierte Ergebnisse

Ich habe eine ganze Reihe von Dingen gesucht und ausprobiert, von der Installation bestimmter Versionen bis zum Versuch, Ruby ohne Glück neu zu installieren.

Irgendwelche Ideen, wo ich falsch liegen könnte?

BEARBEITEN : Ich habe XCode von meiner Snow Leopard DVD installiert und der Fehler hat sich nur geringfügig wie folgt geändert:

Native Erweiterungen erstellen. Dies kann eine Weile dauern ... FEHLER: Fehler beim Installieren von mysql: FEHLER: Fehler beim Erstellen der nativen Gem-Erweiterung.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb extconf.rb: 4: Warnung: Unsicheres, weltweit beschreibbares Verzeichnis / usr / bin in PATH, Modus 040777 extconf.rb: 4: Warnung: Unsicheres, in der Welt beschreibbares Verzeichnis / usr / bin in PATH, Modus 040777 extconf.rb: 7: Warnung: Unsicheres, in der Welt beschreibbares Verzeichnis / usr / bin in PATH, Modus 040777, extconf.rb: 17: Warnung: Unsicheres, in der Welt beschreibbares Verzeichnis / usr / bin in PATH, Modus 040777 Überprüfung auf mysql_query () in -lmysqlclient ... keine Überprüfung auf main () in -lm ... ja Überprüfung auf mysql_query () in -lmysqlclient ... keine Überprüfung auf main () in - lz ... ja nach mysql_query () in -lmysqlclient suchen ... nicht nach main () in -lsocket suchen ... nicht nach mysql_query () in -lmysqlclient suchen ... nicht nach main () in -lnsl suchen. .. keine Überprüfung auf mysql_query () in -lmysqlclient ... keine Überprüfung auf main () in -lmygcc ...Keine Überprüfung auf mysql_query () in -lmysqlclient ... nein * extconf.rb fehlgeschlagen * Makefile konnte aus irgendeinem Grund nicht erstellt werden, wahrscheinlich mangels notwendiger Bibliotheken und / oder Header. Überprüfen Sie die Datei mkmf.log auf weitere Details. Möglicherweise benötigen Sie Konfigurationsoptionen.

Bereitgestellte Konfigurationsoptionen: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include = $ {opt-dir} / include --with-opt-lib - ohne-opt-lib = $ {opt-dir} / lib - mit-make-prog - ohne-make-prog --srcdir =. --curdir --ruby = / System / Library / Frameworks / Ruby.framework / Versions / 1.

Gem-Dateien bleiben zur Überprüfung in /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 installiert. In /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out protokollierte Ergebnisse

Wenn Sie "which mysql" in der Befehlszeile ausführen, wird nichts zurückgegeben, was bedeutet, dass es nicht erkannt wird. Ich habe auch die Option MySQL-Systemeinstellungen installiert und kann MySQL nicht daran hindern, ausgeführt zu werden. Jetzt bin ich völlig festgefahren, was zu tun ist!

BEARBEITEN BEARBEITEN

Ich habe MySQL gerade mithilfe dieses Handbuchs http://hivelogic.com/articles/installing-mysql-on-mac-os-x vollständig neu installiert

Leider hat das auch nicht funktioniert, ich erhalte immer noch die gleichen Fehler. Ich kann nicht einmal mysql -uroot in der Kommandozeile ausführen. Ich erhalte die Fehlermeldung:

FEHLER 2002 (HY000): Es kann keine Verbindung zum lokalen MySQL-Server über den Socket '/tmp/mysql.sock' (2) hergestellt werden.

Also ich denke ich habe alles versucht.

** Gelöst *

Sorry Leute, der Grund dafür, dass dies nicht funktioniert hat, waren die MySQL-Pfade. Ich habe hier darüber gebloggt: http://www.kieransenior.co.uk/2010/02/mysql-cant-connect-using-ruby-on-rails-mac-os-x-snow-leopard/

Antworten:


62

Installation des MySQL-Gems unter OSX

in einem Terminal. Führen Sie zuerst eine 'find mysql_config' aus und ersetzen Sie dann den Pfad im folgenden Befehl durch den Speicherort dieser Datei .

$ sudo gem install mysql -- —–with-mysql-config=/usr/local/mysql/bin/mysql_config
Building native extensions. This could take a while…
Successfully installed mysql-2.7
1 gem installed

2
Ich habe XAMPP für OSX installiert, daher lautete mein Befehl : gem install mysql -- --with-mysql-config=/Applications/XAMPP/bin/mysql_config. Kein Sudo erforderlich!
Thesmart

1
Nur zu deiner Information. Ich konnte immer noch nicht installieren, aber dann wurde mir klar, dass / usr / local / mysql / bin nicht in meiner PATH env-Variablen enthalten war. Nachdem ich das auf meinem PATH bekommen hatte, konnte ich es ohne Probleme installieren.
Justspamjustin

3
Ich musste sudo locate mysql_configdie Konfigurationspfade bekommen. Andernfalls wird die folgende Nachricht zurückgegeben:WARNING: The locate database (/var/db/locate.database) does not exist. ...
RNickMcCandless

Ich musste xcode-Befehlszeilentools installieren, bevor diese Antwort letztendlich für mich funktionieren würde. Siehe diese verwandte Antwort: stackoverflow.com/questions/761521/… und versuchen Sie es dann sudo gem install mysql1 etcwie in dieser Antwort :)
Josh Burson

@JoshBurson Wenn Sie eine vollständige Anleitung zur Installation von MySQL von Grund auf unter OSX wünschen , ist dies meiner Meinung nach eine ganz andere Geschichte.
Trevoke

163

Installieren Sie auf Debian- (oder Ubuntu) -Systemen einfach das libmysqlclient-dev-Paket mit:

sudo apt-get install libmysqlclient-dev

und dann:

gem install mysql

Es wird ohne Fehler installiert.


1
Toll! Arbeitete in Ubuntu 14.10 64 Bit
Miquel

Arbeitete auch für mich, Ubuntu 14.4 LTS vertrauenswürdig
user3632930

17

Zunächst müssen Sie zwischen MySQL als Server, MySQL als Client und den Ruby-Bindungen zu MySQL unterscheiden.

Ich bin nicht mit Mac vertraut, aber für * nix OS müssen Sie MySQL über Ihren Paketmanager installieren. So installieren Sie die Ruby-Bindungen mit

gem install mysql

Sie benötigen die Entwicklungsheader von Ruby (in Ubuntu ist es das Paket ruby-dev) und die Entwicklungsheader des MySQL-Clients (derzeit libmysqlclient16-devin Ubuntu). Ich weiß nicht, ob sie auf dem Mac anders benannt sind, aber nachdem Sie diese installiert haben, sollten die Ruby-Bindungen ohne Fehler installiert werden.


Zweifellos gibt es eine Version mit mehreren Paketen, die beides kann. Ich habe diesen Prozess auch durchlaufen. Ich denke du hast recht, ich muss zwischen den beiden unterscheiden, da dies hauptsächlich mein Problem war. Eine andere Möglichkeit ist vielleicht, MAMP zu installieren und das zu verwenden? Was würde ich dann brauchen?
Kezzer

MAMP steht für Mac, Apache, MySQL, Php. Sie benötigen also weiterhin einen MySQL-Server und zusätzlich Apache 2 sowie die PHP-Bibliotheken für Apache. Ich bin nicht sicher, ob Sie MAMP einfach in Ihrem Paketmanager auswählen können und alle erforderlichen Dateien installiert werden. Vielleicht könnte Ihnen ein Mac-Benutzer da draußen helfen.
Aurril

In der Tat würde MAMP nicht benötigt, aber es war nur eine einfache Möglichkeit, eine MySQL-Instanz bereitzustellen.
Kezzer

4
Genau das brauchte ich unter Ubuntu: sudo apt-get install ruby-devund sudo gem install mysql. Vielen Dank!
Dan Breslau

1
Ja, das hat funktioniert: 'sudo apt-get install ruby-dev libmysqlclient16-dev' dann 'sudo gem install mysql'
Travis Reeder

9

Eine Reihe von Personen fand diesen Beitrag hilfreich.

Außerdem musste ich zuerst Folgendes eingeben:

yum install mysql-devel

und dann:

gem install mysql 

Für einige Personen müssen Sie möglicherweise Folgendes eingeben:

gem install mysql -- --with-mysql-config=/usr/local/mysql/mysql_config

Alter, wenn ich dir 2 aufgeben könnte, würde ich! Es ist jedoch gut zu beachten, dass dieser yum-Befehl möglicherweise nur bei einigen LINUX-Varianten nützlich ist. In meinem Fall CentOS 6.0
Onema

5

unter OSX Mountain Lion: Wenn Sie brewinstalliert haben, brew install mysqlbefolgen Sie die instructionsAnweisungen zum Erstellen einer Testdatenbank mit MySQL auf Ihrem Computer. Sie müssen nicht den ganzen Weg durchlaufen, ich musste nicht Nachdem ich das getan hatte, war ich in der Lage, Installation und Rake zu bündeln.


Dies war die einzige Lösung, die für mich funktioniert hat! Prost Kumpel!
Cynthia Sanchez

3

Um zu lösen

Gem :: Ext :: BuildError: FEHLER: Fehler beim Erstellen des nativen Gem-Erweiterungsfehlers für mysql2,

Ich denke, libmysql-ruby wurde mit ruby- mysql geändert

Versuchen Sie es einfach mit den folgenden Befehlen:

sudo apt-get install ruby-mysql

& dann

sudo apt-get install libmysqlclient-dev


2

Ich hatte eine ähnliche Erfahrung, also hier sind die Dinge, die ich versucht habe

Zuerst habe ich versucht, die erforderlichen Pakete von mysql zu installieren, indem ich den folgenden Befehl in meinem Terminal ausgeführt habe

sudo apt-get install build-essential libmysqlclient-dev

Zweitens habe ich versucht, Rubygems auf meinem System zu aktualisieren, indem ich den folgenden Befehl in meinem Terminal ausgeführt habe

sudo gem update --system

Aber ich hatte immer noch das gleiche Problem. Nach langem Suchen stellte ich fest, dass ich eine fast veraltete Version des MySQL-Edelsteins verwendete. Ich musste einfach den mysql2- Edelstein ( mysql2-Edelstein ) und nicht den mysql- Edelstein verwenden, also habe ich ihn behoben, indem ich den folgenden Befehl in meinem Terminal ausgeführt habe

gem install mysql2

Das hat bei mir gut funktioniert. Stellen Sie vor dem Ausführen des letzten Befehls sicher, dass Sie den ersten und den zweiten Befehl ausgeführt haben, um sicherzustellen, dass auf Ihrem System alles in Ordnung ist.

Das ist alles.

ich hoffe das hilft


0

Sie können versuchen, die neueste Version von xcode / dev neu zu installieren. Werkzeuge für Schneeleoparden - dies sollte Ihre Fehler beheben


Dies war eines der ersten Dinge, die ich tat. Die XCode-Version von Snow Leopard ist auf meinem Computer installiert.
Kezzer


0

Achtung: Sie müssen - key und dann --with-mysql-config = / usr / local / mysql / bin / mysql_config angeben


1
Auch diese Antwort schwebt an vielen Orten. In meinem Fall funktioniert es nicht. Außerdem gab es in / usr / local / meines Erachtens kein MySQL für mich.
Kezzer

0

Wenn Sie den Percona MySQL-Server verwenden

$ yum installiere Percona-Server-devel-55

$ gem mysql installieren



0

Ihr Ubuntu-Betriebssystem muss die Bibliothek für den MySQL-Client installieren sudo apt-get install libmysqlclient-dev

Danach einfach installieren bundleoderbundle install

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.