2013-10-02 4 views
0

Я пытаюсь создать приложение Rails в Windows с MySQL как базу данных. Я создал приложение для рельсов, и он работает так же хорошо. Но когда я пытаюсь подключиться к базе данных mySQL, я получаю странные ошибки, которые я не мог решить после нескольких часов работы в Google и охотиться вокруг. Возможно, я совершу глупую ошибку, новую для Rails и Ruby.Не удается подключиться к MySql из Rails-приложения в Windows

Вот как я приступил в создании приложения с MYSQL

  1. В командной строке

    рельсы новый sample_app -d MySQL

[успех]

  1. Открыт новый c ommand окно подсказки и

    C: \ сайтов \ CD sample_app> Рельсы -s

Теперь я получаю эту ошибку

Could not find gem mysq12 (>=0) in any of the gem sources listed in your Gemfile 
Run bundle install to install missing gems 

Примечание: Я не получаю ошибку, когда я создал мое первое приложение для рельсов без использования Mysql.

  1. Далее, я запустил эту команду

    камень установить mysql2

И получил этот

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/Ruby1.8.7/bin/ruby.exe extconf.rb 
checking for rb_thread_blocking_region()... no 
checking for rb_wait_for_single_fd()... no 
checking for rb_hash_dup()... no 
checking for rb_intern3()... 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. 
  1. Далее я выбежала этот один -

    комплект установки

  2. Closed всех окон командной строки, открыл новый, переехал в мой каталог приложений и напечатал

    рельсы -s

Ошибка:

could not find gem mysq12 (>=0) in any of the gem sources listed in your Gemfile 

Run bundle install to install missing gems 

Вот некоторая информация, которая, я думаю, будет полезна

- Rails 3.0.9 
- Ruby 1.8.7 
- rake (10.1.0, 0.8.7) 
- mysql (2.9.1 x86-mingw32) 
- MySql 5.6 installed and running (I have created a DB and tables) 
- OS: Windows 7 64bit 

Вот как мой файл database.yaml выглядит следующим образом:

development: 
adapter: mysql2 
encoding: utf8 
reconnect: false 
database: sample_app_development 
pool: 5 
username: root 
password: buiskol 
host: localhost 

Вот как Gemfile приложения выглядит

source 'http://rubygems.org' 

gem 'rails', '3.0.9' 

# Bundle edge Rails instead: 
# gem 'rails', :git => 'git://github.com/rails/rails.git' 

gem 'mysql2', '~> 2.9.1' 

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

ответ

1

Почему вы используете gem 'mysql2', '~> 2.9.1' вместо gem "mysql2", "~> 0.3.13"? Согласно this, нет версии 2.9.1, может быть, вы имели в виду 0.2.9? В противном случае вы устанавливаете неправильную версию этого драгоценного камня или неправильный камень с правильной версией.

Вы должны использовать:

gem "mysql", "~> 2.9.1" 

или

gem "mysql2", "~> 0.3.13" 

в файле самоцвета. Поскольку для mysql2 нет версии 2.9.1, исправьте опечатку и повторите попытку

+1

Спасибо, я теперь решил это с вашей помощью. –

Смежные вопросы