webentwicklung-frage-antwort-db.com.de

Ruby MYSQL2 Gem Installation unter Windows 7

Ich versuche, den mysql2-Edelstein unter Windows 7 zu installieren. Ich habe den Connector von der mysql-Site heruntergeladen und die libmysql.dll in Ruby200\bin abgelegt

dann installiere gem mysql2

Das sind die Ergebnisse, bin ich hier schwach?

Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing mysql2:
        ERROR: Failed to build gem native extension.

    C:/Ruby200/bin/Ruby.exe extconf.rb
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --Ruby=C:/Ruby200/bin/Ruby
        --with-mysql-dir
        --without-mysql-dir
        --with-mysql-include
        --without-mysql-include=${mysql-dir}/include
        --with-mysql-lib
        --without-mysql-lib=${mysql-dir}/
extconf.rb:37:in `<main>': undefined method `[]' for nil:NilClass (NoMethodError
)


Gem files will remain installed in C:/Ruby200/lib/Ruby/gems/2.0.0/gems/mysql2-0.
3.13 for inspection.
Results logged to C:/Ruby200/lib/Ruby/gems/2.0.0/gems/mysql2-0.3.13/ext/mysql2/g
em_make.out
35
Mrk Fldig

EDIT 30/09/2014

Wenn diese Antwort die 64-Bit geschrieben wurde Rails Installateur nicht die empfohlene Version war - es scheint, jetzt Leute es mehr zu verwenden beginnen Es sollte beachtet werden, wenn Sie die MySQL Connector herunterladen müssen Sie. Laden Sie entweder 64 oder 32 Bit herunter, um der Version von Rails zu entsprechen, die Sie installiert haben.

Erstaunlicherweise hatte ich heute früh das Glück, eine Antwort zu erhalten, als ich zufällig etwas Ähnliches suchte. Ich bin mir nicht ganz sicher, warum es keinen einfachen Leitfaden dafür gibt, da er sehr einfach zu sein scheint!

Aus irgendeinem Grund wird die Angabe von mysql-dir bei der Installation des Gems bei anderen Unterverzeichnissen nicht berücksichtigt, sodass Sie die Parameter manuell festlegen müssen.

Für alle anderen, die das gleiche Problem hatten, habe ich Folgendes getan:

1) Laden Sie den MySql C Connector herunter von: http://dev.mysql.com/downloads/connector/c/

HINWEIS Laden Sie nicht das Installationsprogramm herunter, sondern das ARCHIV für Ihr Betriebssystem.

Laden Sie entweder das 32-Bit- oder das 64-Bit-ARCHIV herunter, um der von Ihnen installierten Version von Rails=) zu entsprechen.

2) Extrahieren Sie die Datei nach C:\mysql-connector

3) Dann lief:

 gem install mysql2 --platform=Ruby -- '--with-mysql-lib="C:\mysql-connector\lib" --with-mysql-include="C:\mysql-connector\include" --with-mysql-dir="C:\mysql-connector"'

Voila alles funktioniert gut.

EDIT 30/01/2014

Ich musste nur eine Neuinstallation auf einer gemauerten Maschine durchführen und der Befehl in Schritt 3 funktionierte nicht. Was funktionierte, war:

gem install mysql2 --platform=Ruby -- '--with-mysql-dir="C:\mysql-connector"'

Ich bin nicht ganz sicher, was der Unterschied ist, aber dieses Mal scheint es, die Verzeichnisse in Ordnung aufzuheben, also wenn das erste nicht funktioniert, versuchen Sie dieses!

Ich denke, das hängt damit zusammen, wie Sie Rails installieren. Dieses Mal habe ich den Rails-Installer verwendet, der die Pfade korrekt einzurichten scheint.

Ein Großteil des Ergebnisses hier scheint von der Shell abhängig zu sein, die Sie verwenden. Viele Leute haben Probleme mit Powershell, daher würde ich die Verwendung nicht empfehlen. Ich habe dies in einer Eingabeaufforderung mit erhöhten Rechten getan.

Oh und zuletzt, wenn Sie eine Fehlermeldung bezüglich des mysql2-Gems bekommen, wenn Sie Rails S tun, müssen Sie die libmysql.dll aus dem LIB-Verzeichnis des mysql-Connectors in das bin-Verzeichnis kopieren, in dem Rails wurde installiert.

104
Mrk Fldig

Ich habe die Lösung von @Mrk Fldig ausprobiert, aber es hat nicht funktioniert ... Also, was das Problem gelöst hat, war:

  1. Das neueste MySQL heruntergeladen Installer für Windows 7 32 Bit
  2. Installierte den Edelstein mit dem folgenden Befehl: gem install mysql2 --platform=Ruby -- '--with-mysql-dir="C:/Program Files/MySQL/MySQL Connector C 6.1 6.1.2/"'

Zu beachten ist, dass ich die umgekehrten Schrägstriche (\) in normale Schrägstriche (/) geändert habe. Ich habe das gleiche Verfahren mit Backslashes versucht und es hat nicht funktioniert.

Das Installationsprogramm enthält bereits die C-Konnektoren für MySQL unter MySQL Connector C 6.1 6.1.2 Verzeichnis. Aus diesem Grund wird nur der --with-mysql-dir Parameter ohne den --with-mysql-lib oder --with-mysql-include -Parameter bewirkt, dass der Edelstein dasselbe Verzeichnis für die Verzeichnisse lib und include durchsucht

7

Schritte für Ruby 2.1.3, Windows 8.1 und MySQL Server 5.7. Alle x64-Bit.

  1. Download Development Kit
  2. Extrahiertes Development Kit.
  3. Führen Sie CMD aus und gehen Sie zu Verzeichnis, in das das Development Kit extrahiert wurde
  4. Lauf Ruby dk.rb init
  5. Lauf Ruby dk.rb install
  6. Lauf gem install mysql2 -- '--with-mysql-lib="c:\Program Files\MySQL\MySQL Server 5.7\lib" --with-mysql-include="c:\Program Files\MySQL\MySQL Server 5.7\include" --with-mysql-dir="c:\Program Files\MySQL\MySQL Server 5.7"'
6
Nebojisa

Ich habe alle bereitgestellten Methoden ausprobiert, aber der gleiche Fehler tritt immer wieder auf :(

Zum Glück ist die ältere Version fehlerfrei installiert!

gem uninstall mysql2
gem install mysql2 -v 0.2.6
1
Gediminas

Dies ist, was für mich für den gleichen Fehler unter Windows 8 64-Bit und mit Ruby 64-Bit gearbeitet

  1. Laden Sie MySQL Server 5.6 64-Bit herunter und installieren Sie es
  2. Führen Sie diesen Befehl aus:

    gem install mysql2 -v '0.3.16' -- '--with-mysql-lib="c:\Program Files\MySQL\MySQL Server 5.6\lib" --with-mysql-include="c:\Program Files\MySQL\MySQL Server 5.6\include"'
    

Hoffe das hilft

1
Omar M.

Für Cygwin konnte ich verschiedene Schritte zusammenfassen.

  1. Verwenden Sie cygwin setup.exe, um gcc, g ++, make, cmake und libmysqlclient-devel (von Cygwin-Ports) herunterzuladen.
  2. Laden Sie c/connector src für Windows von der MySQL-Website herunter. Ich habe die 6.x-Version heruntergeladen. OR download libmysqlclient-devel's version (nicht sicher woher)
  3. unzip
  4. cd dir_connector
  5. Nicht erforderlich und RISIKO. Wenn jedoch cygwin libmysqlclient-devel Version 5.5.40 ist, ändern Sie die Versionen der Datei dir_connector/VERSION in 5.5.40
  6. mkdir bauen
  7. cd bauen
  8. kommentar dtoa in stdlib.h, sonst schlägt die Kompilierung fehl
  9. cmake ..
  10. make
  11. machen installieren
  12. gem installiere mysql2 - --with-mysql-config =/usr/local/mysql/bin/mysql_config
0
ndas

Versuchen Sie, diese Schritte zu befolgen:

Ich nehme an:

  • a) Sie benutzen Windows7
  • b) Ruby 2+ unter C:\Ruby200-x64
  • c) Rails 4+ auf Ruby installiert
  • d) WAMP ist auf C:\wamp installiert und läuft

1) deinstalliere deinen myslq2 gem:

$ gem uninstall mysql2

2) Installieren Sie den mysql2-Edelstein mit der Pfadoption neu:

$ gem install mysql2 -- '--with-mysql-lib="C:\wamp\bin\mysql\mysql5.6.12\lib" --with-mysql-include="C:\wamp\bin\mysql\mysql5.6.12\include"'

3) Kopieren Sie die Datei libmysql.dll aus C:\wamp\bin\mysql\mysql5.6.12\lib nach C:\Ruby200-x64\bin

4) öffne in deiner Rails App die Datei "Gemfile" und bearbeite sie, indem du mysql2 aktivierst, indem du hinzufügst:

gem 'mysql2'

5) starte deinen Rails Server:

$ Rails server

6) Öffne deinen Browser und gehe zu localhost: 3000 /

0
Edoardo

Folgendes hat bei mir funktioniert:

gem install mysql2 -- '--with-mysql-dir="C:\wamp\bin\mysql\mysql5.5.xx"'

Ich habe ein paar Stunden lang nach dieser Variante gesucht und sie nicht gesehen. Hoffentlich hilft sie jemandem!

0
user1105056

Ich habe immer noch Probleme mit mysql2 gem, aber der folgende Ansatz hat mir geholfen, mysql mit RoR unter Windows Env zu installieren.

Schritt 1: Änderungen an der Gem-Datei: ({app}/Gemfile)

Aktualisieren Sie mysql2 -> mysql

Schritt 2: Aktualisierungen in der Datei database.yml ({app} /config/database.yml)

Adapter wechseln: mysql2 -> adapter: mysql

Host: localhost -> Host: 127.0.0.1

Schritt 3: Laden Sie mysql-connector-c-noinstall-6.0.2-win32 herunter

Schritt 4: Kopieren Sie die Datei mysql-connector-c-noinstall-6.0.2-win32\lib\libmysql.dll nach C:\RailsInstaller\Ruby1.9.3\bin

Schritt 5: Bundle-Update && Start Rails Server

0
Prasanth RJ

Ruby-Installationsprogramm rubyinstaller-devkit-2.5.3-1-x64

Mysql-Connector: mysql-connector-c-6.1.11-win32 https://downloads.mysql.com/archives/c-c/?version=6.1.2&os=src

Gem installieren: gem installieren mysql2 --platform = Ruby - --with-mysql-lib = "c:\mysql-connector-c-6.1.11-win32"

0
dnthanh

Deaktivieren Sie auch Ihr Virenschutzprogramm, bevor Sie den Gem installieren. Meins wurde installiert, nachdem ich folgenden Befehl ausgeführt habe:

gem install mysql2 --platform=Ruby -- '--with-mysql-lib=
"C:\mysql-connector\lib" --with-mysql-include="C:\mysql-connector\include" --wit
h-mysql-dir="C:\mysql-connector"'

Derselbe Befehl funktionierte nicht, als mein Antivirus aktiviert war, da er eine Ruby Datei auf die Brust schob. Hoffe, dies hilft jemandem.

0
hira umair