Не дубликат. Этот вопрос - это mysql gem, а другой вопрос - gem mysql2. Однако у них есть один и тот же ответ, но другой ответ на вопрос не говорит о том, что решение явно. Ответ скрыт в комментариях. См. Желтый текст ответа для этого вопроса содержит решение.
Ниже приведена ошибка, которую я получаю при попытке установить gsm mysql в Windows.
C:\>gem install mysql
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
C:/Ruby22-x64/bin/ruby.exe -r ./siteconf20150520-7968-hbly9l.rb extconf.rb
checking for main() in -llibmysql... no
*** 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:/Ruby22-x64/bin/$(RUBY_BASE_NAME)
--with-mysql-dir
--without-mysql-dir
--with-mysql-include
--without-mysql-include=${mysql-dir}/include
--with-mysql-lib
--without-mysql-lib=${mysql-dir}/lib
--with-libmysqllib
--without-libmysqllib
extconf failed, exit code 1
Gem files will remain installed in C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mysql-
2.9.1 for inspection.
Results logged to C:/Ruby22-x64/lib/ruby/gems/2.2.0/extensions/x64-mingw32/2.2.0
/mysql-2.9.1/gem_make.out
Как я дошел до этого?
- Установлен MySQL для Windows.
http://dev.mysql.com/downloads/windows/installer/
- Установленный Python для Windows. Этот шаг, вероятно, не имеет ничего общего с моей ошибкой, но я включаю его, поскольку он необходим для сборки, которую я развертываю.
https://www.python.org/downloads/
- Установлен Ruby для Windows. Похоже, я загрузил "rubyinstaller-2.2.2-x64.exe и установил это.
http://rubyinstaller.org/downloads/
- Установленные Ruby Gems. Похоже, я загрузил и извлек "rubygems-2.4.7.zip".
https://rubygems.org/pages/download
Затем выполнили эти команды из командной строки Windows:
gem update --system
... был установлен в C:/Ruby22-x64/bin/gem
gem install rubygems-update
update_rubygems
... затем cd {папка извлечена zip в}
ruby setup.rb
-
Затем я попытался установить глагол mysql. И получил ошибку.
C: > gem install mysql Извлечение: mysql-2.9.1.gem(100%) ОШИБКА: Ошибка при установке mysql: В собственном камне mysql требуются установленные инструменты сборки.
Обновите свой PATH, чтобы включить инструменты сборки или загрузить DevKit от 'http://rubyinstaller.org/downloads' и следуйте инструкциям at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'
-
Итак, я выполнил инструкции. Я пошел на эту страницу (http://rubyinstaller.org/downloads). Похоже, я загрузил "DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe". Когда я извлек глупый экстрактор, поместите файлы в один каталог со всем остальным. Поэтому перед загрузкой убедитесь, что вы создали новую папку, и перед извлечением.
Затем я выполнил эту команду.
ruby dk.rb init
Затем я выполнил эту команду и получил ошибку.
ruby dk.rb install
Мне пришлось убедиться, что файл config.yml указал на папку C:\Ruby22-x64 на моей машине, где был установлен Ruby. Я удалил комментарий и изменил путь. Затем запустите команду, и она сработала.
ruby dk.rb install
Затем выполнила эту команду.
gem install rdiscount --platform=ruby
-
Затем попытался переустановить gem mysql. И получил ошибку в моем вопросе. Какая жемчужина! "Я достал тебе драгоценности Бетти, драгоценности!"
gem install mysql
EDIT 5/21/2015:
В следующем вопросе я получаю новую ошибку.
Установка gim Ruby MYSQL2 в Windows 7
C:\>gem install mysql2 --platform=ruby -- '--with-mysql-lib="C:\mysql-connector\
lib" --with-mysql-include="C:\mysql-connector\include" --with-mysql-dir="C:\mysq
l-connector"'
Temporarily enhancing PATH to include DevKit...
Building native extensions with: '--with-mysql-lib="C:\mysql-connector\lib" --wi
th-mysql-include="C:\mysql-connector\include" --with-mysql-dir="C:\mysql-connect
or"'
This could take a while...
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.
C:/Ruby22-x64/bin/ruby.exe -r ./siteconf20150521-10824-1plgdr8.rb extconf.rb
--with-mysql-lib="C:\mysql-connector\lib" --with-mysql-include="C:\mysql-connec
tor\include" --with-mysql-dir="C:\mysql-connector"
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... no
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
-----
Using --with-mysql-dir=C:\mysql-connector\include;C:\mysql-connector\include;C:\
mysql-connector
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... 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:/Ruby22-x64/bin/$(RUBY_BASE_NAME)
--with-mysql-dir
--with-mysql-include=${mysql-dir}/include
--with-mysql-lib=${mysql-dir}/lib
C:/Ruby22-x64/lib/ruby/2.2.0/rake/task_manager.rb:62:in `[]': Don't know how to
build task 'C:/mysql-connector/lib;C:/mysql-connector/lib;C:/mysql-connector/lib
/libmysql.lib' (RuntimeError)
from C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:57:in `lookup_prerequisit
e'
from C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:53:in `block in prerequis
ite_tasks'
from C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:53:in `map'
from C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:53:in `prerequisite_tasks
'
from C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:199:in `invoke_prerequisi
tes'
from C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:178:in `block in invoke_w
ith_call_chain'
from C:/Ruby22-x64/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'
from C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:172:in `invoke_with_call_
chain'
from C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:165:in `invoke'
from extconf.rb:117:in `<main>'
extconf failed, exit code 1
Gem files will remain installed in C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mysql2
-0.3.18 for inspection.
Results logged to C:/Ruby22-x64/lib/ruby/gems/2.2.0/extensions/x64-mingw32/2.2.0
/mysql2-0.3.18/gem_make.out
C:\>