2010-09-07 3 views
13

У меня есть Ruby версия ruby ​​1.9.2p0 (2010-08-18) [i386-mingw32] установлена ​​в Windows7. и gem vesion 1.3.7Ошибка Ruby gem mysql2

Когда я попытался установить драгоценный камень mysql, он показывает ошибку Failed to build gem native extension, почему это так? мой MySQL версии 5.1.36 (WampServer)

E:\RubyApps\test_app2>gem install mysql2 
Building native extensions. This could take a while... 
ERROR: Error installing mysql2: 
     ERROR: Failed to build gem native extension. 

E:/Ruby192/bin/ruby.exe extconf.rb 
checking for rb_thread_blocking_region()... *** 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=E:/Ruby192/bin/ruby 
E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to genera 
te an executable file. (RuntimeError) 
You have to install development tools first. 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:435:in `try_link0' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:440:in `try_link' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:552:in `try_func' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:797:in `block in have_func' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postp 
one' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:254:in `open' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:254:in `open' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:276:in `postpone' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:796:in `have_func' 
     from extconf.rb:9:in `<main>' 


Gem files will remain installed in E:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0. 
2.3 for inspection. 
Results logged to E:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.3/ext/mysql2/ge 
m_make.out 

E:\RubyApps\test_app2> 
+6

, если вы все еще есть проблемы (я сделал) драгоценный камень установить mysql2 -v 0.2.6 –

ответ

6

Так как это продолжает появляться в Google как на верхних результатах, я должен указать, что эти ответы получены почти 2 года назад. Вот более обновленный ответ: How to use "mysql2" gem in Rails 3 application on Windows 7?


По словам разработчика есть уже сообщалось ошибка для него, и он работает на расставание mysql2 к Windows. На данный момент - это все еще в работе. Используйте более старый драйвер mysql - или используйте sqlite для локальной разработки.

Это из обсуждения GoogleGroups

Blockquote Эй Erwann, Там есть билет на вопрос трекера mysql2 для поддержки Win32 уже в http://github.com/brianmario/mysql2/issues#issue/8. Вы можете следить за за прогресс; Я делаю все возможное, чтобы все было нормально работать для вас, вы, ребята, . Держать крепко! :)

-1

ключ: линия, которая говорит, что Вы должны установить средства разработки первой. ref: devkit

+0

Я уже установил средства разработки! –

+0

вставьте свои выходные журналы и убедитесь, что другие драгоценные камни установлены нормально (например, камень «rdiscount»). Я предполагаю, что вам нужен камень mysql? – rogerdpack

-1

использование

gem install mysql 

для окон, до mysql2 получить это право.

2

это работает, с:>камень установить mysql2 - «--with-MySQL Пб = "C: \ Prog баран Files \ MySQL \ MySQL Connector C 6.0.2 \ Lib \ неавтоматического" - с-MySQL-Include = "C: \ PROGRA м Files \ MySQL \ MySQL Connector C 6.0.2 \ включают"»

Временно повышение PATH включить DevKit ...

Строительство собственных расширений. Это может занять некоторое время ...

Успешно установлен mysql2-0.3.6

1 камень установлен

Установка ри документации для mysql2-0.3.6 ...

Вложение класс/модуль 'mMysql2' для класса Client не известного

Установка RDoc документации для mysql2- 0.3.6 ...

Вложение класс/модуль 'mMysql2' для класса Client не известно

Примечание:

I. Если нет Lib и включают в себя каталог в MySQL, то установить коннектор MySQL C

II. Сначала установите DevKit только тогда вы можете установить плагин mysql2 в окнах https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

34

Если у вас возникла такая же проблема в Linux, в основном вам просто нужно установить несколько библиотек первой. Это сработало для меня.

> sudo apt-get install libmysql-ruby libmysqlclient-dev 

> gem install mysql 

Источник: http://heatware.net/ruby-rails/solved-installing-mysql-gem-extconf-rb-failed-error/

+1

это было именно то, что мне нужно на ubuntu. Благодарю. – emilebaizel

+0

Это работало для меня в ubuntu 12.04! –

+0

Любая идея, которая должна быть не для Mac для той же проблемы –

0

Под Cygwin, я должен был быть уверен, чтобы установить не только libmysqlclient18, но и libmysqlclient-Devel. Затем «gem install mysql2» прошел нормально.

Существует также, конечно, пакет ruby-mysql2 в Cygwin.

0

Вы можете попробовать

gem install mysql2 -v '0.0.00' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include 
Смежные вопросы