我正在尝试在 Windows 中创建一个使用 MySQL 作为数据库的 Rails 应用程序。我创建了一个 rails 应用程序,它运行得一样好。但是当我尝试连接到 mySQL 数据库时,我遇到了奇怪的错误,经过数小时的谷歌搜索和四处搜寻,我无法解决这个问题。也许我犯了一个愚蠢的错误,这是 Rails 和 Ruby 的新手。
以下是我如何使用 MYSQL 创建应用程序
在命令提示符下
rails new sample_app -d mysql
[成功]
打开一个新的命令提示符窗口并
C:\sites\cd sample_app> rails -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 的情况下创建我的第一个 rails 应用程序时,我没有收到错误消息。
接下来,我运行了这个命令
宝石安装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.
接下来我跑了这个 -
捆绑安装
关闭所有命令提示符窗口,打开一个新窗口,移动到我的应用程序目录并输入
导轨-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 gem 没有正确安装。我不确定我在哪里做错了。任何帮助都感激不尽。