Установка Ruby MYSQL2 gem в windows 7

Я пытаюсь установить драгоценный камень mysql2 на windows 7 я загрузил соединитель с сайта mysql и разместил libmysql.dll в ruby200bin

затем сделайте gem install mysql2

Это результаты я здесь тусклый?

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

16 ответов


изменить 30/09/2014

когда этот ответ был опубликован, установщик 64 bit rails не был рекомендуемой версией - теперь кажется, что люди начинают использовать его больше. Следует отметить, что при загрузке MySQL Connector вам нужно загрузить 64 или 32bit, чтобы соответствовать установленной версии rails.

по какой-то причине просто указание mysql-dir при установке gem не подбирает с другими подкаталогами, поэтому вам нужно установить параметры вручную.

для тех, кто испытывает ту же проблему, я сделал следующее:

1) Загрузите соединитель MySql C из: http://dev.mysql.com/downloads/connector/c/

примечание не загружайте установщик, загрузите архив для своей ОС

загрузите 32-битный или 64-битный архив, чтобы соответствовать установленной версии rails.

2) извлеките файл в C:\mysql-connector

3) потом побежали:

 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"'

вуаля все работает нормально.

изменить 30/01/2014

мне просто нужно было сделать новую установку на кирпичной машине, и команда на Шаге 3 не работала, что работало:

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

Я не совсем уверен, в чем разница, но на этот раз, похоже, он собирает каталоги в порядке, поэтому, если первый не работает, попробуйте этот!

Я думаю, что это связано с тем, как вы идете об установке рельсов, на этот раз я использовал railsinstaller, который, кажется, устанавливает пути правильно.

многие результаты здесь, похоже, зависят от используемой вами оболочки, у многих людей возникают проблемы с powershell, поэтому я бы не советовал использовать ее. Я сделал это в командной строке с повышенными привилегиями.

Oh и, наконец, если вы получаете ошибку относительно драгоценного камня mysql2, когда вы делаете RAILS S, вам нужно скопировать libmysql.dll из каталога LIB соединителя mysql в каталог bin, где были установлены rails.


Я пробовал решение @Mrk Fldig, но это не сработало... Итак, проблема была решена:

  1. скачал последний MySQL установки для windows 7 32 бит
  2. установил драгоценный камень со следующей командой:gem install mysql2 --platform=ruby -- '--with-mysql-dir="C:/Program Files/MySQL/MySQL Connector C 6.1 6.1.2/"'

одна из ловушек, о которой нужно знать, заключается в том, что я изменил обратные косые черты (\) на обычные косые черты (/). Я пробовал ту же процедуру с обратными косыми чертами, и это не сработало.

установщик уже включает в себя разъемы C для MySQL at


шаги для Ruby 2.1.3, Windows 8.1 и MySQL Server 5.7. Все x64-разрядной.

  1. скачать Комплект Для Разработки
  2. Извлеченный Набор Развития.
  3. запустите CMD и перейдите в dir, где извлекается Development Kit
  4. выполнить ruby dk.rb init
  5. выполнить ruby dk.rb install
  6. выполнить 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"'

Это то, что сработало для меня для той же ошибки в Windows 8 64-бит и с помощью ruby 64-бит

  1. Загрузите и установите MySQL Server 5.6 64-бит
  2. выполните эту команду:

    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"'
    

надеюсь, что это помогает


Я пробовал все описанные методы, но та же ошибка появляется снова и снова :(

к счастью, более старая версия установлена без каких-либо ошибок!

gem uninstall mysql2
gem install mysql2 -v 0.2.6

попробуйте выполнить эти шаги:

Я полагаю:

  • a) вы используете windows7
  • b) ruby 2 + on C:\Ruby200-x64
  • C) rails 4 + установлен на ruby
  • d) WAMP установлен на C:\wamp и бегом!--10-->

1) Удалите myslq2 gem:

$ gem uninstall mysql2

2) переустановите драгоценный камень mysql2 с опцией пути:

$ 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) скопируйте libmysql.dll вы найдете в C:\wamp\bin\mysql\mysql5.6.12\lib в C:\Ruby200-x64\bin

4) Откройте в своем приложении rails файл "Gemfile" и отредактируйте его, включив mysql2, добавив:

gem 'mysql2'

5) запустите сервер rails:

$ rails server

6) откройте браузер и перейдите в localhost: 3000/


У меня все еще есть проблема с mysql2 gem, но ниже подход помог мне установить mysql с RoR на Windows Env.

Шаг 1: изменения файла Gem: ({app}/Gemfile)

обновить mysql2 -- > mysql

Шаг 2 : обновления в базе данных.файл yml ({app} / config / база данных.в формате YML)

изменить адаптер: mysql2 -- > адаптер: mysql

хост: localhost --> хост: 127.0.0.1

Шаг 3: Нагрузка mysql-connector-c-noinstall-6.0.2-win32

Шаг 4: скопируйте mysql-connector-c-noinstall-6.0.2-win32\lib\libmysql.dll файл для C:\RailsInstaller\Ruby1.9.3\bin

Шаг 5: обновление пакета и & Start rails server


вот что сработало для меня:

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

искали несколько часов и не видели этого варианта, поэтому, надеюсь, это поможет кому-то!


также попробуйте отключить антивирус перед установкой gem. Мой был установлен после того, как я запустил следующую команду:

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"'

та же команда не работала, когда мой антивирус был включен, так как он нажимал какой-то файл ruby на грудь. Надеюсь, это кому-то поможет.


для Cygwin я мог бы объединить различные шаги.

  1. используйте настройку cygwin.exe для загрузки gcc, g++, make, cmake и libmysqlclient-devel (из портов cygwin)
  2. загрузите c / connector src для windows с сайта mysql. Я скачал 6.X версии. Или скачать libmysqlclient-devel's version (не уверен, откуда)
  3. распакуйте
  4. компакт-диск dir_connector
  5. не требуется и рискованно, но если версия cygwin libmysqlclient-devel 5.5.40, затем измените версии файла dir_connector / VERSION на 5.5.40
  6. команды mkdir построить
  7. cd build
  8. комментарий dtoa в stdlib.h, иначе компиляция не выполняется
  9. cmake ..
  10. сделать
  11. установка
  12. gem установить mysql2 -- --with-mysql-config= / usr / local/mysql/bin / mysql_config

Я загрузил 32-битный devkit с моим 64-битным ПК, однако я понимаю, что railsinstaller, по-видимому, устанавливает 32-битную версию по умолчанию, поэтому я направил все средства 32bit.

инициализировать Ruby devkit dk.rb init

загрузите 32-разрядный соединитель mysql и поместите его в mysql-connector C: \ mysql-connector

вы должны знать, что при распаковке файла он создает подпапку с тем же именем и может давать ошибки.

затем используйте вторую команду, указанную выше:

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

Это было решение, которое я нашел, так как у меня была та же проблема.


В Windows 7 я обнаружил, что существующие ответы предоставили частичное решение, но я все еще не мог его установить.

проблема у меня была в том, что установщик Windows MySQL Community Edition, который я использовал, настаивал на размещении соединителей в папках, называемых такими вещами, как C:\MySQL\MySQL Connector C 6.1.3. Процесс сборки в драгоценном камне сообщал, что он не может найти "C:\MySQL\MySQL" (и до этого, когда я имел его в программных файлах, он жаловался, что не может найти "C:\Program\includes") так ясно пространства были проблемой, и я не мог найти способ избежать их, чтобы он мог понять - возможно, кто-то сможет предложить один из них.

потому что я не был уверен, что изменение их нарушит установку, как только я понял, почему возникла проблема, я просто создал символическую ссылку из командной строки (что-то проще из cmd чем powershell) вот так:

C:\MySQL> mklink /D ConnectorC ".\MySQL Connector C 6.1.3"

тогда я мог бы использовать следующие установки строка:

 gem install mysql2 --platform=ruby -- '--with-mysql-dir="C:/MySQL/ConnectorC/"'

это правильно работало.

кроме того, когда я попытался использовать его, я столкнулся с проблема поэтому может быть полезно знать, что перемещение файла lib MySQL из папки lib разъема C может быть полезным.


мне удалось преуспеть в этом из чистой удачи, но после часа ада я чувствую, что должен поделиться своим решением, очевидно, очень сокращенным, но много шагов, я думаю, вы можете понять, как это сделать самостоятельно.

моя машина Win 7 64bit. Я смог установить версию 0.3.16

  1. установить ruby версии 2.0.0p481 (?)
  2. Devkit бла бла
  3. установить rails версии 4.0.0
  4. загрузить Mysql Connector C 64 бит zip файл, поместите в диск C как mysqlc
  5. возьмите DLL из этого ящика, поместите его в lib ruby
  6. gem установить mysql2 -- -- с-mysql-dir="C:\mysqlc"

это сработало для меня после добавления некоторых настроек

gem install mysql2 --platform=ruby -- '--with-mysql-lib="C:\Program Files\MySQL\MySQL Connector C 6.1.5\lib" --with-mysql-include="C:\Program Files\MySQL\MySQL Connector C 6.1.5\include" --with-mysql-dir="C:\Program Files\MySQL\MySQL Connector C 6.1.5"

ничего из этого не работало для меня, пока я не понял, что у меня установлена 64-разрядная версия DevKit. Поэтому я загрузил 64-битный MySQL Connector / C из веб-сайт MySQL

и установил драгоценный камень с опцией "with-mysql-dir"


вот что я сделал для windows server 2012 sp2. Больше ничего не помогало...

после получения ошибки 'while installing mysql2 (0.3.17), and bundler cannot continue' Make sure that 'gem install mysql2 -v '0.3.17' succeeds...

1) Загрузите соединитель MySql C из:http://dev.mysql.com/downloads/connector/c/

2) Extract the file to C:\mysql-connector

3) gem install mysql2 -v '0.3.17' --platform=ruby -- '--with-mysql-dir="C:\mysql-connector"'

Примечание: - v '0.3.17' выше, он не будет работать без этого.

4) bundle install --> И, Наконец, Успех.