Установка MySQL2 Gem в Windows

У меня были некоторые проблемы с установкой гема mysql2 на мой компьютер с Windows 8.1. Я следовал инструкциям в этом посте:

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

установитьmysql2 драгоценный камень, и я не получил никаких сообщений об ошибках.

Я последовал за этим с

bundle install 

и подтвердил, что установлены следующие гемы (с помощью bundle show), подтверждая, что у меня установлены следующие гемы:

Using devise (3.2.2)
Using mysql2 (0.3.14)

Затем я попытался сделать:

rails generate devise:install

и вот что я получил:

C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/mysql2-0.3.14/lib/mysql2.rb:8:in `require': 126: The specified module could not be found.   
- C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/mysql2-0.3.14/lib/mysql2/mysql2.so (LoadError)
    from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/mysql2-0.3.14/lib/mysql2.rb:8:in `'
    from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:76:in `require'
    from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
    from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:72:in `each'
    from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:72:in `block in require'
    from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:61:in `each'
    from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:61:in `require'
    from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.5.1/lib/bundler.rb:131:in `require'
    from C:/Users/Joseph/googledrive/projects/rails/test_new_devise/config/application.rb:7:in `'
    from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-4.0.2/lib/rails/commands.rb:43:in `require'
    from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-4.0.2/lib/rails/commands.rb:43:in `'
    from bin/rails:4:in `require'
    from bin/rails:4:in `'

Есть идеи?

Решение:

Ответ представляет собой комбинацию двух ответов от stackoverflow плюс модификации. Ссылки на переполнение стека:

Установка Ruby MYSQL2 gem на Windows 7 ... mysql2 / mysql2.so: [BUG] Ошибка сегментации ruby 2.0.0p247

Итог: чтобы mysql2 работал в 64-битной среде с Ruby 2 на Windows 8.1, вам нужно сделать следующее:

Очистить: причина, по которой вывот что тыВозможно, вы пытались установить этот гем, но он не удался, поэтому вам нужно выполнить некоторые действия: gem uninstall mysql2

Загрузите Ruby 2.0 64 bit для Windows:

http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p353-x64.exe?direct

Запустите установщик. Обратите внимание на каталог, в который он устанавливает, и убедитесь, чтоs в ПУТИ пользователя. идти к

Control Panel > System and Security > System - Advanced System Settings > Environment Variables

и убедитесь, что путь к каталогу bin каталога установки ruby находится в переменной окружения PATH для локального пользователя (it 'также хорошо, если этов переменной среды SYSTEM Path)

Загрузите 64-битный Dev Dev Kit:

http://cdn.rubyinstaller.org/archives/devkits/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe

Запустите установщик и запомните расположение каталога установки. В инструкции сказано, что когда-тоПосле установки вам нужно запустить файл devkitvars.bat, чтобы установить переменные окружения. Это НЕ работает для Windows 8.1. Вам необходимо повторить инструкции, чтобы установить локальный путь, описанный в # 2 выше, чтобы установить переменную среды пути для локального пользователя, чтобы добавить каталог ruby dev kit bin и каталог ruby dev kit mingw bin. Например, если комплект разработчика был установлен в c: \ ruby2devkit, а вы установили ruby2 в каталог C: \ Ruby200-x64, то вы измените свой путь, чтобы он выглядел так:

C:\Ruby200-x64\bin;C:\ruby2-devkit\bin;c:\ruby2-devkit\mingw\bin

Далее необходимо установить mysql-разъем. НЕ загружайте и не запускайте самоинсталлятор. Вместо этого скачайте zip-файл и распакуйте его. Обратите внимание на каталог, в который вы его распаковали (для целей этого поста давайтеПредполагается, что вы распаковали его в c: \ mysql-connector:

http://dev.mysql.com/downloads/file.php?id=450612

Файл libmysql.lib, включенный в 64-разрядную версию MySQL Connector, не совместим с компилятором mingw64-gcc. Вам необходимо создать совместимый с mingw64 файл libmysql.lib.

Загрузите необходимые инструменты

https://structure-svm-map.googlecode.com/files/svm-map-win.zip

Разархивируйте этот файл в локальный каталог,Предполагается, что вы распаковали его в c: \ svm-map

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

C:\Ruby200-x64\bin;C:\ruby2-devkit\bin;c:\ruby2-devkit\mingw\bin;c:\svm-map;C:\svm-map\python-mingw-lib

Сгенерируйте новые библиотеки mysql:

(make sure you're running as administrator)

cd c:\mysql-connector\lib

gendef.exe libmysql.dll

dlltool -v --dllname libmysql.dll --def libmysql.def --output-lib libmysql.lib

copy libmysql.dll C:\Ruby200-x64\bin

copy libmysql.lib C:\Ruby200-x64\bin

Установите драгоценный камень следующим образом (обратите внимание на использование прямой косой черты вместо обратной косой черты, она не будет выполнена, если вы используете обратную косую черту):

gem install mysql2 --platform = ruby - '--with-MySQL-DIR =»C: / MySQL-разъем / "»

Надеюсь, это поможет, и, надеюсь, кто-то обратит внимание на тех немногих пользователей Windows 8.1, которые хотят заняться разработкой Ruby on Rails.

Ответы на вопрос(1)

Ваш ответ на вопрос