Frage

Beim Versuch der Installation treten einige Probleme auf mysql2 Juwel für Rails.Wenn ich versuche, es durch Ausführen zu installieren bundle install oder gem install mysql2 es gibt mir den folgenden Fehler:

Fehler bei der Installation von MySQL2:FEHLER:Die native Gem-Erweiterung konnte nicht erstellt werden.

Wie kann ich das beheben und die Installation erfolgreich durchführen? mysql2?

War es hilfreich?

Lösung

Auf Ubuntu / Debian und andere Distributionen aptitude:

sudo apt-get install libmysql-ruby libmysqlclient-dev

Package libmysql-ruby wurde abgeschafft und durch ruby-mysql ersetzt. Diese ist, wo ich die Lösung gefunden.

Wenn der obige Befehl funktioniert nicht, weil libmysql-ruby nicht gefunden werden kann, sollte die folgende ausreichend:

sudo apt-get install libmysqlclient-dev

Auf Red Hat / CentOS und andere Distributionen mit yum:

sudo yum install mysql-devel

Unter Mac OS X mit Homebrew :

brew install mysql

Andere Tipps

Ich bin auf einem Mac und Verwendung Homebrew Open-Source-Programme zu installieren. Ich musste Mac Dev Tools installieren, um Homebrew zu installieren, aber danach war es ein einfacher:

brew install mysql

zu mysql installieren. Ich hatte nicht ein MySQL-Juwel Problem da.

hier ist eine Lösung für die Windows-Nutzer , hoffe, es hilft!

Verwenden von MySQL mit Rails 3 unter Windows

  • Installieren railsinstaller -> www.railsinstaller.org (ich es c: \ Rails)

  • Installieren Sie MySQL (I verwendet MySQL 5.5) -> dev.mysql.com/downloads/installer /

  

--- für mySQL Installation ---   
wenn Sie nicht bereits diese beiden Dateien installieren Sie sie benötigen könnten Ihre MySQL geht
zu bekommen   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   
  Verwenden Sie Standard-Installation   Entwickler-Maschine

     

-MySQL Server Config -
  Port: 3306
  Windows-Service-Name: MySQL55
  mysql Wurzel: root (können Sie diese später ändern)
  (Benutzername: root)
   -MySQL Server Config -

     

--- für mySQL Installation ---


  

--- Installieren Sie die mysql2 Gem ---
  Wichtig: Tun Sie dies mit Git Bash Command Line (dies wurde mit railsinstaller installiert) -> Start / Git Bash
   gem mysql2 installieren - ‚--with-mysql-lib = "c: \ Programme \ MySQL \ MySQL Server 5.5 \ lib" --with-mysql-include =" c: \ Programme \ MySQL \ MySQL Server 5.5 \ " ist   
  Nun sollte das Juwel korrekt installiert   
  Schließlich kopieren Sie die Datei libmysql.dll
  C: \ Programme \ MySQL \ MySQL Server 5.5 \ lib
  zu
  C: \ Rails \ Ruby1.9.2 \ bin
   --- Installieren Sie den mysql2 Gem ---


Sie können jetzt Ihre Rails-Anwendung mit MySQL verwenden, wenn Sie nicht sicher sind, wie Sie eine Rails 3 App erstellen mit MySQL auf ... lesen


--- Holen Sie sich ein Rails 3 app mit MySQL gehen ---
Öffnen Sie die Eingabeaufforderung (nicht Git Bash) -> Start / cmd
Navigieren Sie zu Ihrem Ordner (c: \ Seiten)
Erstellen Sie neue Schienen App

rails new world

Löschen Sie die Datei c: \ Sites \ world \ public \ index.html
Bearbeiten Sie die Datei c: \ Sites \ world \ config \ routes.rb
fügen Sie diese Zeile -> root: to => 'Städte # index'

Öffnen Sie die Eingabeaufforderung (generieren Ansichten und Controller)

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


Bearbeiten Sie die Datei c: \ Sites \ Welt \ app \ models \ city.rb zu sehen wie folgt aus

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

Bearbeiten Sie die Datei c: \ Sites \ world \ config \ database.yml wie folgt aussehen

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

in dem gemfile

gem 'mysql2'

Öffnen Eingabeaufforderung Fenster cmd, nicht Git Bash (führen Sie Ihre Anwendung!)
Navigieren Sie zu Ihrem App-Ordner (c: \ Sites \ Welt)

rails s

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

--- Holen Sie sich ein Rails 3 app mit MySQL gehen ---

Ich habe mehrere Computer, 32 und 64-Bit-Prozessor, laufen sie auf Ubuntu Linux, Maverick (10.10) Release.

Ich hatte das gleiche Problem, und für mich, die sudo apt-get install libmysql-ruby libmysqlclient-dev hat den Job !!!

Eine andere Möglichkeit für MacOS Nutzer

Wenn Sie verwendet "Gebräu" mysql zu installieren:

gem install mysql2 -v 'x.x.x' -- --with-mysql-config=/usr/local/Cellar/mysql/y.y.y/bin/mysql_config

x.x.x = Version des mysql2 Juwel Sie installieren möchten
y.y.y = die MySQL-Version Sie installiert haben ls /usr/local/Cellar/mysql es zu finden.

Haben Sie versucht mit

 gem install mysql -- --with-mysql-lib=/usr/lib/mysql/lib 

die Lage von thebase Verzeichnis angeben, sowie der Pfad zu den MySQL-Bibliotheken, die notwendig sind, um den Edelstein Installation abzuschließen?

Quellen: MySQL Gem Install ERROR: Fehler beim build gem native Erweiterung Foren MySQL :: Rubin :: Hilfe benötigt, um mit der Installation von MySQL Bindung für Ruby

Wenn Sie mit yum versuchen:

sudo yum install mysql-devel

Dies löste mein Problem einmal in Windows:

subst X: "C:\Program files\MySQL\MySQL Server 5.5" 
gem install mysql2 -v 0.x.x --platform=ruby -- --with-mysql-dir=X: --with-mysql-lib=X:\lib\opt 
subst X: /D

Wenn Sie immer noch Probleme ....

Versuchen Sie,

   sudo apt-get install ruby1.9.1-dev

hatte ich dieses Problem auf Windows 7. Dies ist offenbar eine Inkompatibilität Problem und die Lösung ist wie folgt:

Laden Sie die libmySQL.dll Datei von einem älteren Instant Installer. Es ist von der Instant GitHub Repo .

Als nächstes kopieren Sie die Datei in Ruby / bin-Ordner.

Jetzt sind Sie gut zu gehen;)

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

Ich habe auch diesen Fehler. Gelöst von Entwicklungspaketen installieren. Ich bin mit Bogen und es war:

sudo pacman -S base-devel

, die installiert ist:

m4, autoconf, automake, bison, fakeroot, flex, libmpc, ppl, cloog-ppl, elfutils, gcc,
libtool, make, patch, pkg-config

, aber ich denke, es ist tatsächlich benötigt make und gcc. Fehlerausgang sagte (auf meinem Rechner unter anderem):

"Sie haben erste Entwicklungs-Tools installieren."

So war es offensichtlich, dass die Entscheidung und es half.

Sie haben einige Abhängigkeiten installieren

sudo apt-get install libmysql-ruby libmysqlclient-dev

Auf Debian Stretch das Paket, das für mich gearbeitet wurde default-libmysqlclient-dev

sudo apt-get update && apt-get install -y default-libmysqlclient-dev

Ich lief in diesen Fehler auf meinem Mac und fand, dass ich von mysql 32bit mysql 64-Bit-Upgrade erforderlich, um diese Fehler zu erhalten, gehen Sie weg. Ich war mit OSX 10.6 auf einem Intel MacBook Pro mit Ruby 1.9.2 und rails3.0.0

Ich muß auch Xcode installieren, um Unix-Utilities wie „make“ zu erhalten, die erforderlich ist, um die Perle zu kompilieren.

Sobald dies erledigt war ich war in der Lage gem install mysql und gem install mysql2 ohne Fehler ausgeführt werden.

In meinem Fall geholfen:

$ export LDFLAGS="-L/usr/local/opt/openssl/lib"
$ export CPPFLAGS="-I/usr/local/opt/openssl/include"

Dann:

gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/' -- --with-cppflags=-I/usr/local/opt/openssl/include --with-ldflags=-L/usr/local/opt/openssl/lib

Ergebnis:

Building native extensions with: '--with-cppflags=-I/usr/local/opt/openssl/include --with-ldflags=-L/usr/local/opt/openssl/lib'
This could take a while...
Successfully installed mysql2-0.5.2
Parsing documentation for mysql2-0.5.2
Installing ri documentation for mysql2-0.5.2
Done installing documentation for mysql2 after 0 seconds
1 gem installed

Siehe diesen Beitrag (ACHTUNG: Japanische Sprache innen).

Für Windows-Benutzer: Sie legen die lib und umfassen Pfad Ihrer mysql, zum Beispiel, wenn youre xampp verwenden Sie wie diese haben können:

gem install mysql2 -- '--with-mysql-lib="C:\xampp\mysql\lib" --withmysql-include="C:\xampp\mysql\include"'

Lösung funktioniert nur unter Mac OS X

Wenn Sie MySQL mit Homebrew installiert haben, was für mich gearbeitet MySQL wurde die Deinstallation und Installation von MySQL Community Edition über die MySQL-Website ( https://www.mysql.com/ ).

Nach der Installation, einfach wieder in den Befehl gem install mysql2 oder, falls erforderlich, sudo gem install mysql2, wenn Sie bekommen die Erlaubnis Probleme verweigert.

Ich habe den Edelstein gebaut auf Mac OS X 10.6.6 durch 1) Die Gewährleistung der Entwickler-Tools-Paket installiert 2) Herunterladen das aktuelle MySQL-Paket (5.5.8 in meinem Fall) von Quelle 3) Installieren des Werkzeugs von Cmake cmake.org 4) Nach den Anweisungen in Abschnitt 2.11 der INSTALL-Quelle aus den MySQL-Distribution-Dateien 5) sudo gem install mysql2 -- --srcdir=/usr/local/mysql/include Der Edelstein erfolgreich gebaut, aber es gibt zwei Fehler in der Dokumentation, dass rdoc und ri beklagen. Aber jetzt, wenn ich versuche zu verlangen ‚mysql2‘ ich a

LoadError: no such file to load -- mysql2/mysql2

Ich hatte gehofft, die Fehler, die ich bekommen würde, war, dass die libmysqlclient.16.dylib konnte nicht gefunden werden, weil wir, dass die in einem anderen Beitrag gemustert (für install_name_tool suchen).

My $ PATH hat / usr / local / mysql in ihm (das ist, wo meine Quelle und gebaut Dateien gespeichert sind), so dass ich ein wenig ratlos bin. Wenn jemand irgendwelche Gedanken hat, werde ich nach ein paar Stunden Schlaf prüfen.

Wenn noch immer Fehler dann folgen die Schritte mysql2 gem Installation auf Rails 3 auf -

http: // rorguide. blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html

, wo die meisten der Benutzer in der Lage waren mysql2 Juwel zu installieren.

Nachdem Sie die mysql-dev Probleme behoben bekommen, können Sie die schlechte mysql2 entfernen müssen installieren. Achten Sie genau auf die Nachrichten nach $ Bundle installieren. Unter Umständen müssen Sie auf

rm -rf vendor/cache/
rm -rf ./Zentest

Dies wird die schlechte mysql2 Installation deaktivieren, so dass ein endgültiger $ installiert Bundle einen guten erstellen können.

Laden Sie die richtige Version von mysqllib.dll herunter und kopieren Sie sie dann in Ruby Bin. Das funktioniert bei mir wirklich.Folgen Sie bitte diesem Link MySQL2-Gem wurde für die falsche MySQL-Client-Bibliothek kompiliert

Got die „Sie haben erste Entwicklungs-Tools installieren.“ Fehler beim Versuch, den mysql2 gem nach der Aktualisierung auf Mac OS X Mountain Lion zu installieren. Scheinbar dieses Upgrade tun, um die Befehlszeilen-Compiler entfernt werden.

Um fix:

  • Ich meine sehr alte Version von Xcode deinstalliert (lief das Deinstallationsskript in / Developer / Library). Dann löschte das / Entwickler-Verzeichnis.
  • Ging zum App Store heruntergeladen und Xcode.
  • Gestartet Xcode und ging in den Einstellungen -.> Downloads, und die Kommandozeilen-Tools installiert

Sie erhalten dieses Problem, weil Sie nicht MySql installieren. Vor mysql2 gem install. Installieren Sie MySQL. Danach mysql2 gem installieren.

Ich wollte nur diese Antwort hinzufügen speziell für Mac .

Mein Server lief völlig in Ordnung, bis ich meine Xcode aktualisiert. Die während meiner Schienen Server startet der Fehler wurde wie folgt dargestellt

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /Users/user/.rvm/rubies/ruby-1.9.3-p448/bin/ruby extconf.rb --with-mysql-
    checking for rb_thread_blocking_region()... /Users/user/.rvm/rubies/ruby-1.9.3-  
    p448/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an    
    executable file. (RuntimeError)

Und es gab Vorschlag mysql2 Juwel am Ende der Fehlermeldung zu installieren. Also, wenn ich versuchte, es zu installieren habe ich die Fehler wie oben in dieser Frage erwähnt. Der Fehler, den ich habe ist wie folgt

ERROR:  Error installing mysql2:
ERROR: Failed to build gem native extension.

So wie in diesem Beitrag vorgeschlagen, dass ich versuchte, ‚mysql Gebräu zu installieren‘, und dass die MySQL-Version so quitted sagen und so bereits installiert. Aber es war, bevor es warnend sagen

Warning: You have not agreed to the Xcode license.
Builds will fail! Agree to the license by opening Xcode.app or running:
xcodebuild -license

Dann habe ich versucht, diese sudo xcodebuild -license und geben Sie ‚zustimmen‘ am Ende. Sie müssen in der Wurzel bis zur Lizenz zustimmen.

Danach habe ich versucht, wieder Bündel zu installieren und dann alles funktioniert gut als normal. [Auch aufgrund dieser Xcode updation hatte ich Probleme mit meinem Turm auch.]

libmysql-ruby wurde abgeschafft und ersetzt. Neuer Befehl:

 sudo apt-get install ruby-mysql libmysqlclient-dev

Für die Verwendung von Windows 7 und 64-Bit-MySQL

Wenn Sie 64-Bit-MySQL verwenden möchten, sollten Sie die Anweisungen folgen hier ( hier ).

Es tut uns dies sollte ein Kommentar sein auf Spacemonkey Antwort aber meine nicht genug Ruf, es zu tun.

Ich will hinzufügen, dass wenn Sie mit MariaDB statt mysql auf CentOS 7 Sie nur MariaDB-Shared-Paket installieren müssen, den Fehler zu beheben.

yum install MariaDB-shared -y
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top