Не удается установить mysql2 для rails 3 в Windows

#mysql #ruby-on-rails #ruby #rubygems

#mysql #ruby-on-rails #ruby #rubygems

Вопрос:

Не удается установить mysql2 без сообщения об ошибке. Я перепробовал все возможные способы, включая использование devkit.

 gem install mysql2 -- --with-mysql-include=c:/xampp/mysql/inclu
de --with-mysql-lib=c:/xampp/mysql/lib --with-mysql-config=c:/xampp/mysql/bin/my
sql_config

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:/RailsInstaller/Ruby192/bin/ruby.exe extconf.rb --with-mysql-include=c:/xampp/
mysql/include --with-mysql-lib=c:/xampp/mysql/lib --with-mysql-config=c:/xampp/m
ysql/bin/mysql_config
checking for rb_thread_blocking_region()... yes
checking for main() in -llibmysql... no
*** extconf.rb failed ***
  

Убедитесь, что ваша библиотека указывает на /lib / opt, а не только / lib

Комментарии:

1. Вы должны сделать свой вопрос реальным вопросом, и если вы ответили на него сами, сделайте это в стиле jeopardy: сначала вопрос, затем отдельный ответ.

2. Пожалуйста, не используйте псевдотеги, подобные [solved] в названии вашего вопроса. Если вы решили свою собственную проблему, пожалуйста, опубликуйте решение в качестве ответа, затем пометьте его как принятое.

Ответ №1:

Использование MySQL с Rails 3 в Windows

  • Установите railsinstaller -> www.railsinstaller.org (Я установил его для c:Rails )

  • Установите MySQL (я использовал MySQL 5.5) -> dev.mysql.com/downloads/installer /

— для установки MySQL —

Если у вас еще не установлены эти два файла, они могут понадобиться для запуска вашего MySQL

vcredist_x86.exe ->http://www.microsoft.com/download/en/details.aspx?id=5555 dotNetFx40_Full_x86_x64.exe -> http://www.microsoft.com/download/en/details.aspx?id=17718

Используйте установочный компьютер разработчика по умолчанию

-Конфигурация сервера MySQL-
порт: 3306
имя службы Windows: MySQL55
корневой доступ mysql: root (вы можете изменить это позже)
(имя пользователя: root)
-Конфигурация сервера MySQL-

— для установки MySQL —

— Установите драгоценный камень mysql2 —

Важно: Сделайте это с помощью командной строки Git Bash(это было установлено с помощью railsinstaller) -> пуск / Git Bash

gem install mysql2 — ‘—with-mysql-lib=»c:Program Files MySQL MySQL Server 5.5 lib» —with-mysql-include=»c:Program Files MySQL MySQL Server 5.5 include»‘

Теперь драгоценный камень должен быть установлен правильно

Наконец, скопируйте libmysql.dll файл из
C:Program Files MySQL MySQL Server 5.5lib
в
C: Rails Ruby1.9.2 bin

— Установите драгоценный камень mysql2 —

Теперь вы сможете использовать свое приложение Rails с MySQL, если вы не уверены, как создать приложение Rails 3 с MySQL, читайте дальше…


— Установите приложение Rails 3 на MySQL —

Откройте командную строку (не Git Bash) -> пуск / cmd
Перейдите в вашу папку (c:Sites )
Создайте новое приложение rails

 rails new world
  

Удалите файл c:Sitesworldpublicindex.html
Отредактируйте файл c:Sitesworldconfigroutes.rb

добавьте эту строку -> root:to => ‘cities#index’

Откройте командную строку (создайте представления и контроллеры)

 rails generate scaffold city ID:integer Name:string CountryCode:string District:string Population:integer
  

Отредактируйте файл c:Sitesworldappmodelscity.rb чтобы выглядеть так

 class City < ActiveRecord::Base
 set_table_name "city"
end
  

Отредактируйте файл c:Sitesworldconfigdatabase.yml выглядеть вот так

 development:
adapter: mysql2
encoding: utf8
database: world
pool: 5
username: root
password: root
socket: /tmp/mysql.sock
  

Откройте командную строку Windows cmd, а не Git Bash (запустите свое приложение!)
Перейдите в папку вашего приложения (c:Sitesworld )

 rails s
  

Откройте ваш браузер здесь -> http://localhost:3000

— Установите приложение Rails 3 на MySQL —

Комментарии:

1. Гоооооооооооооооооооооооо Хороший ответ.

2. Спасибо! Я довольно долго боролся с установкой Windows 🙂 git bash был ключевым для меня

Ответ №2:

Это команда, которая работает для меня, убедитесь, что вы используете полную версию 1.7.3

 gem install -v=0.2.7 mysql2 -- --with-mysql-include=C:xamppmysqlinclude --with-mysql-lib=C:xamppmysqllibopt --with-mysql-config=c:xamppmysqlbinmysql_config 
  

Комментарии:

1. у меня это не работает, даже когда у меня установлена полная версия 1.7.4. install, но у меня просто нет этих папок

2. это работает только в версии v1.7.3. в версии v1.7.4 у него нет этих папок. и именно поэтому я понизил рейтинг до версии v1.7.3

Ответ №3:

Просто подумал, что я бы обновил это для потомков. С последней версией установщика rails для Windows (на дату публикации этого поста) и с использованием Win 7, и у меня случайно установлен xampp, это был мой процесс. Сначала запустите и установите установщик rails. Теперь, чтобы установить mysql gem, который я сделал…

 C:Sites>gem install mysql2 -v 0.3.16 --platform=ruby -- --with-mysql-dir=C:xam
ppmysql
  

Обратите внимание, что в моей конфигурации я использую xampp, поэтому я передаю C:xamppmysql как путь к каталогу mysql.

Следующая копия libmysql.dll из C:xamppmysqllib для C:RailsInstallerRuby1.9.3bin . Теперь вся база данных, связанная с rails, с надеждой «просто работает» для вас. Например, чтобы создать новое приложение rails с mysql, выполните…

 rails new the_next_facebook -d mysql
  

… и вы должны получить свой файл конфигурации по умолчанию / database.yml, уже настроенный на использование mysql. Просто убедитесь, что ваше имя пользователя / pw в порядке