0

我正在尝试在 Windows 中创建一个使用 MySQL 作为数据库的 Rails 应用程序。我创建了一个 rails 应用程序,它运行得一样好。但是当我尝试连接到 mySQL 数据库时,我遇到了奇怪的错误,经过数小时的谷歌搜索和四处搜寻,我无法解决这个问题。也许我犯了一个愚蠢的错误,这是 Rails 和 Ruby 的新手。

以下是我如何使用 MYSQL 创建应用程序

  1. 在命令提示符下

    rails new sample_app -d mysql

[成功]

  1. 打开一个新的命令提示符窗口并

    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 应用程序时,我没有收到错误消息。

  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. 关闭所有命令提示符窗口,打开一个新窗口,移动到我的应用程序目录并输入

    导轨-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 没有正确安装。我不确定我在哪里做错了。任何帮助都感激不尽。

4

1 回答 1

1

你为什么使用 gem 'mysql2', '~> 2.9.1' 而不是 gem "mysql2", "~> 0.3.13"?据此没有任何 2.9.1 版本,也许你的意思是 0.2.9 ?否则,您正在安装该 gem 的错误版本,或者安装了正确版本的错误 gem。

你应该使用:

gem "mysql", "~> 2.9.1"

或者

gem "mysql2", "~> 0.3.13"

在您的 gem 文件中。由于 mysql2 没有 2.9.1 版本,请更正错字并重试

于 2013-10-02T22:17:06.680 回答