Установка 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, но это не сработало... Итак, проблема была решена:
- скачал последний MySQL установки для windows 7 32 бит
- установил драгоценный камень со следующей командой:
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-разрядной.
- скачать Комплект Для Разработки
- Извлеченный Набор Развития.
- запустите CMD и перейдите в dir, где извлекается Development Kit
- выполнить
ruby dk.rb init
- выполнить
ruby dk.rb install
- выполнить
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-бит
- Загрузите и установите MySQL Server 5.6 64-бит
-
выполните эту команду:
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 я мог бы объединить различные шаги.
- используйте настройку cygwin.exe для загрузки gcc, g++, make, cmake и libmysqlclient-devel (из портов cygwin)
- загрузите c / connector src для windows с сайта mysql. Я скачал 6.X версии. Или скачать libmysqlclient-devel's version (не уверен, откуда)
- распакуйте
- компакт-диск dir_connector
- не требуется и рискованно, но если версия cygwin libmysqlclient-devel 5.5.40, затем измените версии файла dir_connector / VERSION на 5.5.40
- команды mkdir построить
- cd build
- комментарий dtoa в stdlib.h, иначе компиляция не выполняется
- cmake ..
- сделать
- установка
- 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
- установить ruby версии 2.0.0p481 (?)
- Devkit бла бла
- установить rails версии 4.0.0
- загрузить Mysql Connector C 64 бит zip файл, поместите в диск C как mysqlc
- возьмите DLL из этого ящика, поместите его в lib ruby
- 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
--> И, Наконец, Успех.