Mysql ruby gem не устанавливается в Windows 7
Не дубликат. Этот вопрос - это 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:\>
Ответы
Ответ 1
"mysql" и "mysql2" пакеты/расширения/драгоценные камни не работают с x64-разрядная версия Ruby для Windows 7 (или любая 64-разрядная версия Windows). Вам необходимо установить x86 (32) битную версию Ruby для их работать.
Итак, я повторил шаг 3 в своем вопросе и установил версию 1.9 вместо ответа от моего комментария по моему вопросу (по вопросу 191) от luislavena 30 августа 2013 года. Это версия x86 (32-разрядная версия). Получил это отсюда.
http://rubyinstaller.org/downloads/
Похоже, что имя файла "rubyinstaller-1.9.3-p551.exe".
Затем завершен шаг 4. Разработчики Ruby должны зафиксировать свои скрипты, чтобы автоматически изменить файл config.yml для версии x86. Мне не нужно было редактировать это время.
Затем для шага 5 я установил этот devkit exe, потому что в более новой версии Ruby не было набора разработчика, который был x86.
Для шага 6 я разместил в нем собственную папку. Он по-прежнему извлекает файлы в корне exe, а не в папку корня exe. Затем выполнялись все команды, кроме последнего. Он по-прежнему выдавал ошибку.
"DevKit-ТДМ-32-4.5.2-20111229-1559-sfx.exe"
Затем для шага 7 я запустил это.
gem install mysql
Он установил версию mysql для x86, потому что я могу увидеть драгоценный камень, выполнив это. Он очень блестящий и выглядит дорогим!
gem list
5/26/2015 обновление:
Последняя версия Ruby при установке в Windows, которая позволяет вам запустите сервер Rails 2.1.6.
Запуск сервера rails не работал, запустив "rails s". Мне пришлось вернуться и удалить старые версии Ruby. См. Мой ответ здесь. Игнорируйте остальные ответы, если вы находитесь в Windows.
Удалите старые версии Ruby (в Windows)
Единственная стабильная версия Ruby для Windows, которая позволяет запустить сервер rails, - "rubyinstaller-2.1.6.exe". "rubyinstaller-2.2.2.exe" выдает следующую ошибку:
C:/row/Ruby22/lib/ruby/gems/2.2.0/gems/nokogiri-1.6.6.2-x86-mingw32/lib/nokogiri
.rb:29:in `require': cannot load such file -- nokogiri/nokogiri (LoadError)
from C:/row/Ruby22/lib/ruby/gems/2.2.0/gems/nokogiri-1.6.6.2-x86-mingw32
/lib/nokogiri.rb:29:in `rescue in <top (required)>'
...
... continued