Ich habe einige Probleme beim Versuch, mysql2
gem for Rails zu installieren . Wenn ich versuche , es zu installieren , indem Sie bundle install
oder gem install mysql2
es gibt mir die folgende Fehlermeldung:
Fehler bei der Installation von mysql2: FEHLER: Fehler beim Erstellen der nativen Gem-Erweiterung.
Wie kann ich das beheben und erfolgreich installieren mysql2
?
Antworten:
Unter Ubuntu / Debian und anderen Distributionen mit aptitude:
Paket
libmysql-ruby
wurde auslaufen und ersetzt durchruby-mysql
. Hier habe ich die Lösung gefunden.Wenn der obige Befehl nicht funktioniert, weil er
libmysql-ruby
nicht gefunden werden kann, sollte Folgendes ausreichen:Unter Red Hat / CentOS und anderen Distributionen mit yum:
Unter Mac OS X mit Homebrew :
quelle
libmysqlclient-dev
ausreichend.Ich bin auf einem Mac und verwende Homebrew , um Open Source-Programme zu installieren. Ich musste Mac Dev Tools installieren, um Homebrew zu installieren, aber danach war es einfach:
MySQL installieren. Ich habe seitdem kein MySQL-Edelsteinproblem mehr gehabt.
quelle
brew link mysql --force
.Hier ist eine Lösung für die Windows-Benutzer , hoffe es hilft!
Verwenden von MySQL mit Rails 3 unter Windows
Railsinstaller installieren -> www.railsinstaller.org (Ich habe es auf c: \ Rails installiert)
Installieren Sie MySQL (ich habe MySQL 5.5 verwendet) -> dev.mysql.com/downloads/installer/
Sie können jetzt Ihre Rails-App mit MySQL verwenden, wenn Sie nicht sicher sind, wie Sie eine Rails 3-App mit MySQL erstellen sollen. Lesen Sie weiter ...
---
Starten Sie eine Rails 3-App mit MySQL --- Öffnen Sie die Eingabeaufforderung (nicht Git Bash) -> start / cmd
Navigieren Sie zu Ihrem Ordner (c: \ Sites).
Erstellen Sie eine neue Rails-App
Löschen Sie die Datei c: \ Sites \ world \ public \ index.html
Bearbeiten Sie die Datei c: \ Sites \ world \ config \ route.rb Fügen
Sie diese Zeile hinzu -> root: to => 'Städte # Index'
Öffnen Sie die Eingabeaufforderung (generieren Sie Ansichten und Controller).
Bearbeiten Sie die Datei c: \ Sites \ world \ app \ models \ city.rb so, dass sie so aussieht
Bearbeiten Sie die Datei c: \ Sites \ world \ config \ database.yml so, dass sie so aussieht
zu gemfile hinzufügen
Öffnen Sie die Eingabeaufforderung Windows Cmd, nicht Git Bash (führen Sie Ihre App aus!).
Navigieren Sie zu Ihrem App-Ordner (c: \ Sites \ world).
Öffnen Sie hier Ihren Browser -> http: // localhost: 3000
--- Holen Sie sich eine Rails 3-App mit MySQL ---
quelle
gem install mysql2 -- --with-mysql-dir=C:\xampp\mysql
-- --with-mysql-dir="C:\xampp\mysql"
ohne die Anführungszeichen meine `` wurden entfernt. Vielen DankIch habe mehrere Computer, 32- und 64-Bit-Prozessor, sie laufen unter Ubuntu Linux, Maverick (10.10).
Ich hatte das gleiche Problem und für mich hat das
sudo apt-get install libmysql-ruby libmysqlclient-dev
den Job gemacht !!!quelle
Für MacOS Mojave :
gem install mysql2 -v '0.5.2' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include
quelle
Ein anderer Weg für MacOS-Benutzer
Wenn Sie "Brew" verwendet haben, um MySQL zu installieren:
xxx = Version des mysql2-Gems, das Sie installieren möchten
yyy = die Version von mysql, die Sie installiert haben
ls /usr/local/Cellar/mysql
, um es zu finden.quelle
Haben Sie versucht, zu verwenden
um den Speicherort des Basisverzeichnisses sowie den Pfad zu den MySQL-Bibliotheken anzugeben, die zum Abschließen der Gem-Installation erforderlich sind?
Quellen: MySQL Gem Install ERROR: Fehler beim Erstellen der nativen Gem-Erweiterung MySQL Forums :: Ruby :: Hilfe bei der Installation der MySQL-Bindung für Ruby erforderlich
quelle
which mysql
und anschließendes Suchen deslib
Verzeichnisses gefunden habe.Wenn Sie yum verwenden, versuchen Sie:
quelle
Dies löste mein Problem einmal in Windows:
quelle
gem install mysql2 --platform=ruby -- --with-mysql-dir=X: --without-opt-dir
Wenn Sie immer noch Probleme haben ...
Versuchen Sie die Installation
quelle
Ich hatte dieses Problem unter Windows 7. Dies ist anscheinend ein Inkompatibilitätsproblem und die Lösung lautet wie folgt:
Laden Sie die
libmySQL.dll
Datei von einem älteren InstantRails-Installationsprogramm herunter. Es ist im InstantRails GitHub-Repo erhältlich .Kopieren Sie als Nächstes diese Datei in Ihren Ruby / bin-Ordner.
Jetzt kannst du loslegen;)
quelle
bundle install
.Ich habe auch diesen Fehler bekommen. Gelöst durch die Installation von Entwicklungspaketen. Ich benutze Arch und es war:
welche installiert:
aber ich denke es brauchte tatsächlich make und gcc. Fehlerausgabe sagte (unter anderem auf meinem Computer):
"Sie müssen zuerst Entwicklungstools installieren."
Es war also eine offensichtliche Entscheidung und es hat geholfen.
quelle
Sie müssen einige Abhängigkeiten installieren
quelle
Auf Debian Stretch war das Paket, das für mich funktionierte, default-libmysqlclient-dev
sudo apt-get update && apt-get install -y default-libmysqlclient-dev
quelle
In meinem Fall hat dies geholfen:
Dann:
Ergebnis:
Siehe diesen Beitrag (WARNUNG: Japanische Sprache im Inneren).
quelle
Unter Ubuntu (18.04)
Ich konnte dieses Problem lösen, indem ich Folgendes ausführte:
Referenz
quelle
Ich habe diesen Fehler auf meinem Mac festgestellt und festgestellt, dass ich ein Upgrade von MySQL 32-Bit auf MySQL 64-Bit durchführen musste, damit dieser Fehler behoben wird. Ich habe OSX 10.6 auf einem Intel MacBook Pro mit Ruby 1.9.2 und Rails3.0.0 ausgeführt
Ich musste auch xcode installieren, um Unix-Dienstprogramme wie "make" zu erhalten, die zum Kompilieren des Gems erforderlich sind.
Sobald dies erledigt war, konnte ich gem install mysql und gem install mysql2 ohne Fehler ausführen.
quelle
Für Windows-Benutzer: Sie legen die lib und den Pfad Ihrer MySQL fest. Wenn Sie beispielsweise xampp verwenden, können Sie Folgendes tun:
quelle
Die Lösung funktioniert nur unter Mac OS X.
Wenn Sie MySQL mit Homebrew installiert haben, haben Sie MySQL deinstalliert und MySQL Community Edition über die MySQL-Website ( https://www.mysql.com/ ) installiert .
Geben Sie nach der Installation den Befehl einfach erneut ein
gem install mysql2
oder falls erforderlichsudo gem install mysql2
, wenn Sie Probleme mit der Verweigerung der Berechtigung erhalten.quelle
Ich habe das Juwel unter Mac OS X 10.6.6 erstellt von 1) Sicherstellen, dass das Developer Tools-Paket installiert ist 2) Herunterladen des aktuellen MySQL-Pakets (in meinem Fall 5.5.8) von Source 3) Installieren des cmake-Tools von cmake.org 4 ) Befolgen Sie die Anweisungen in Abschnitt 2.11 von INSTALL-SOURCE aus den MySQL-Distributionsdateien. 5)
sudo gem install mysql2 -- --srcdir=/usr/local/mysql/include
Das Juwel wurde erfolgreich erstellt, aber es gibt zwei Fehler in der Dokumentation, über die sich rdoc und ri beschweren. Aber jetzt, wenn ich versuche, 'mysql2' zu benötigen, bekomme ich eineIch hatte gehofft, der Fehler, den ich bekommen würde, war, dass die libmysqlclient.16.dylib nicht gefunden werden konnte, weil wir das in einem anderen Beitrag herausgefunden haben (Suche nach install_name_tool).
Mein $ PATH enthält / usr / local / mysql (dort befinden sich meine Quell- und erstellten Dateien), daher bin ich etwas ratlos. Wenn jemand irgendwelche Gedanken hat, werde ich nach ein paar Stunden Schlaf zurückschauen.
quelle
Wenn immer noch ein Fehler auftritt, befolgen Sie die Schritte der Installation von mysql2 gem auf Rails 3 auf -
http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html
wo die meisten Benutzer in der Lage waren, mysql2 gem zu installieren.
quelle
Nachdem Sie die Probleme mit mysql-dev behoben haben, müssen Sie möglicherweise die fehlerhafte Installation von mysql2 entfernen. Schauen Sie sich die Meldungen nach der Installation von $ bundle genau an. Möglicherweise müssen Sie
Dadurch wird die fehlerhafte mysql2-Installation behoben, sodass durch eine endgültige Installation des $ bundle eine gute erstellt werden kann.
quelle
Laden Sie die richtige Version von mysqllib.dll herunter und kopieren Sie sie in Ruby Bin. Das funktioniert wirklich für mich. Folgen Sie diesem Link, um mysql2 gem zu kompilieren, das für eine falsche mysql-Client-Bibliothek kompiliert wurde
quelle
Erhielt die Meldung "Sie müssen zuerst die Entwicklungstools installieren." Fehler beim Versuch, das mysql2-Juwel nach dem Upgrade auf Mac OS X Mountain Lion zu installieren . Anscheinend werden durch dieses Upgrade die Befehlszeilen-Compiler entfernt.
Reparieren:
quelle
Sie erhalten dieses Problem, weil Sie MySql nicht installiert haben. Vor der Installation von mysql2 gem. Installieren Sie MySQL. Danach wird mysql2 gem installiert.
quelle
Ich wollte diese Antwort nur speziell für Mac-Benutzer hinzufügen .
Mein Server lief einwandfrei, bis ich meinen xcode aktualisiert habe. Beim Starten meines Rails-Servers wurde der Fehler folgendermaßen angezeigt
Und es gab einen Vorschlag, mysql2 gem am Ende der Fehlermeldung zu installieren. Als ich versuchte, es zu installieren, bekam ich den oben in dieser Frage erwähnten Fehler. Der Fehler, den ich bekam, ist wie folgt
Wie in diesem Beitrag vorgeschlagen, habe ich versucht, "Brew MySQL installieren" und das hat aufgehört zu sagen, dass MySQL-Version so und so bereits installiert ist. Aber es gab eine Warnung davor
Dann habe ich es versucht
sudo xcodebuild -license
und am Ende 'zustimmen' eingegeben. Sie müssen root sein, um der Lizenz zuzustimmen.Danach habe ich erneut versucht, das Bundle zu installieren, und dann funktioniert alles wie gewohnt. [Trotz dieser Xcode-Aktualisierung hatte ich auch Probleme mit meinem Tower.]
quelle
libmysql-ruby
wurde auslaufen und ersetzt. Neuer Befehl:quelle