533 Stimmen

Fehler bei der Installation von mysql2: Fehler bei der Erstellung der nativen Gem-Erweiterung

Ich habe einige Probleme bei der Installation mysql2 gem für Rails. Wenn ich versuche, es zu installieren, indem ich bundle install o gem install mysql2 erhalte ich die folgende Fehlermeldung:

Fehler bei der Installation von mysql2: ERROR: Fehler bei der Erstellung der nativen Gem-Erweiterung.

Wie kann ich das Problem beheben und erfolgreich installieren? mysql2 ?

979voto

spacemonkey Punkte 19264

Unter Ubuntu/Debian und anderen Distributionen mit aptitude:

sudo apt-get install libmysql-ruby libmysqlclient-dev

Paket libmysql-ruby wurde schrittweise abgeschafft und ersetzt durch ruby-mysql . Diese habe ich die Lösung gefunden.

Wenn der obige Befehl nicht funktioniert, weil libmysql-ruby nicht gefunden werden kann, sollte das Folgende ausreichend sein:

sudo apt-get install libmysqlclient-dev

Auf Red Hat/CentOS und anderen Distributionen, die yum verwenden:

sudo yum install mysql-devel

Unter Mac OS X mit Selbstgebrautes :

brew install mysql

67voto

Kelsin Punkte 803

Ich arbeite mit einem Mac und benutze selbstgebaut um Open-Source-Programme zu installieren. Ich musste zwar die Mac Dev Tools installieren, um Homebrew zu installieren, aber danach war es ganz einfach:

brew install mysql

um mysql zu installieren. Seitdem habe ich kein Problem mit einem mysql gem mehr gehabt.

42voto

Francois Punkte 10067

Hier ist eine Lösung für die Windows-Benutzer Ich hoffe, es hilft!

Verwendung von MySQL mit Rails 3 unter Windows

  • Schieneninstaller installieren -> www.railsinstaller.org (Ich habe es auf c installiert: \Rails )

  • MySQL installieren (Ich habe MySQL 5.5 verwendet) -> dev.mysql.com/downloads/installer/

--- für mySQL-Installation ---

Wenn Sie noch nicht über diese beiden Dateien installiert haben, brauchen Sie sie vielleicht, um Ihr MySQL zum Laufen zu bringen

vcredist_x86.exe ->. http://www.microsoft.com/download/en/details.aspx?id=5555 dotNetFx40_Full_x86_x64.exe -> http://www.microsoft.com/download/en/details.aspx?id=17718

Standardinstallation verwenden Entwickler-Maschine

-MySQL Server Konfig-
Hafen: 3306
Name des Windows-Dienstes: MySQL55
mysql Root-Pass: Root (Sie können dies später ändern)
(Nutzername: Root)
-MySQL Server Konfig-

--- für mySQL-Installation ---

--- Installieren Sie den mysql2 Gem ---

Das ist wichtig: Dies geschieht mit der Git Bash Kommandozeile (dies wurde mit railsinstaller installiert) -> start/Git Bash

gem install mysql2 -- '--with-mysql-lib="c: \Program Dateien \MySQL\MySQL Server 5.5 \lib " --with-mysql-include="c: \Program Dateien \MySQL\MySQL Server 5.5 \include "'

Jetzt sollte der Edelstein korrekt installiert sein

Zum Schluss kopieren Sie die Datei libmysql.dll von
C:\Program Dateien \MySQL\MySQL Server 5.5 \lib
zu
C:\Rails\Ruby1.9.2\bin

--- Installieren Sie den mysql2 Gem ---

Sie werden nun in der Lage sein, Ihre Rails-App mit MySQL zu verwenden. Wenn Sie nicht sicher sind, wie Sie eine Rails 3-App mit MySQL erstellen, lesen Sie weiter...


--- Eine Rails 3-Anwendung mit MySQL zum Laufen bringen ---

Öffnen Sie die Eingabeaufforderung (nicht Git Bash) -> start/cmd
Navigieren Sie zu Ihrem Ordner (c: \Sites )
Neue Rails-App erstellen

rails new world

Löschen Sie die Datei c: \Sites\world\public\index.html
Bearbeiten Sie die Datei c: \Sites\world\config\routes.rb
diese Zeile hinzufügen -> Root :to => 'cities#index'

Öffnen Sie die Eingabeaufforderung (Erstellen von Ansichten und Controllern)

rails generate scaffold city ID:integer Name:string CountryCode:string District:string Population:integer

Bearbeiten Sie die Datei c: \Sites\world\app\models\city.rb folgendermaßen aussehen

class City < ActiveRecord::Base
 set_table_name "city"
end

Bearbeiten Sie die Datei c: \Sites\world\config\database.yml folgendermaßen aussehen

development:
adapter: mysql2
encoding: utf8
database: world
pool: 5
username: root
password: root
socket: /tmp/mysql.sock

zu gemfile hinzufügen

gem 'mysql2'

Öffnen Sie Eingabeaufforderung Windows cmd, nicht Git Bash (führen Sie Ihre Anwendung aus!)
Navigieren Sie zu Ihrem Anwendungsordner (c: \Sites\world )

rails s

Öffnen Sie Ihren Browser hier -> http://localhost:3000

--- Eine Rails 3-Anwendung mit MySQL zum Laufen bringen ---

39voto

Allen Punkte 6595

Para 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

22voto

Paa Yaw Punkte 421

Unter Ubuntu (18.04)

Ich konnte dieses Problem lösen, indem ich Folgendes ausführte:

sudo apt-get install build-essential libmysqlclient-dev
gem install mysql2

Referenz

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X