2013-04-09 116 views
0

这是我第一次尝试在rails上使用MySql。这发生在使用sqlite3以及它指向我做'gem install activerecord-sqlite3-adapter`时,告诉我没有这样的gem命名它。Rails服务器无法启动mysql2 - 它需要的Gems存在

我正在使用最新的Ruby 2.0。 我使用的是最新的3.2.13的Rails我 有mysql2(0.3.11)宝石 我也有ActiveRecord的-mysql2适配器(0.0.3)

但是......它给我下面的消息:

C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/rubygems_integration.rb:214:in 'block in replace_gem': Please install the mysql2 adapter: 'gem install activerecord-mysql2-adapter' (mysql2 is not part of the bundle. Add it to Gemfile.) (LoadError)

当我执行rails new [project name]

如果有人mysql2宝石的错误,这个命令被成功安装在64位Windows系统mysql2的捆绑跑:gem install mysql2 -v '0.3.11' -- '--with-mysql-lib="C:\MySQL\lib" --with-mysql-include="C:\MySQL\include"'

生成的Gemfile使用的是gem 'mysql2'好吧,正常,因为我已经被告知。

的database.yml如下:

development: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    database: shop_development 
    pool: 5 
    username: charlie 
    password: ******* 
    host: localhost 

我已手动创建一个名为[项目] _development数据库。

C:\Users\Charlie\Documents\RailsProject\demo_app>rails s 
=> Booting WEBrick 
=> Rails 3.2.13 application starting in development on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
Exiting 
C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/rubygems_integ 
ration.rb:214:in `block in replace_gem': Please install the mysql2 adapter: `gem 
install activerecord-mysql2-adapter` (mysql2 is not part of the bundle. Add it 
to Gemfile.) (LoadError) 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activerecord-3.2.13/lib/act 
ive_record/connection_adapters/mysql2_adapter.rb:3:in `<top (required)>' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/ac 
tive_support/dependencies.rb:251:in `require' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/ac 
tive_support/dependencies.rb:251:in `block in require' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/ac 
tive_support/dependencies.rb:236:in `load_dependency' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/ac 
tive_support/dependencies.rb:251:in `require' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activerecord-3.2.13/lib/act 
ive_record/connection_adapters/abstract/connection_specification.rb:50:in `resol 
ve_hash_connection' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activerecord-3.2.13/lib/act 
ive_record/connection_adapters/abstract/connection_specification.rb:41:in `resol 
ve_string_connection' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activerecord-3.2.13/lib/act 
ive_record/connection_adapters/abstract/connection_specification.rb:25:in `spec' 

     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activerecord-3.2.13/lib/act 
ive_record/connection_adapters/abstract/connection_specification.rb:130:in `esta 
blish_connection' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activerecord-3.2.13/lib/act 
ive_record/railtie.rb:82:in `block (2 levels) in <class:Railtie>' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/ac 
tive_support/lazy_load_hooks.rb:36:in `instance_eval' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/ac 
tive_support/lazy_load_hooks.rb:36:in `execute_hook' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/ac 
tive_support/lazy_load_hooks.rb:43:in `block in run_load_hooks' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/ac 
tive_support/lazy_load_hooks.rb:42:in `each' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/ac 
tive_support/lazy_load_hooks.rb:42:in `run_load_hooks' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activerecord-3.2.13/lib/act 
ive_record/base.rb:720:in `<top (required)>' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activerecord-3.2.13/lib/act 
ive_record/railtie.rb:88:in `block in <class:Railtie>' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/i 
nitializable.rb:30:in `instance_exec' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/i 
nitializable.rb:30:in `run' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/i 
nitializable.rb:55:in `block in run_initializers' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/i 
nitializable.rb:54:in `each' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/i 
nitializable.rb:54:in `run_initializers' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/a 
pplication.rb:136:in `initialize!' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/r 
ailtie/configurable.rb:30:in `method_missing' 
     from C:/Users/Charlie/Documents/RailsProject/demo_app/config/environment 
.rb:5:in `<top (required)>' 
     from C:/Users/Charlie/Documents/RailsProject/demo_app/config.ru:3:in `re 
quire' 
     from C:/Users/Charlie/Documents/RailsProject/demo_app/config.ru:3:in `bl 
ock in <main>' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/rack-1.4.5/lib/rack/builder 
.rb:51:in `instance_eval' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/rack-1.4.5/lib/rack/builder 
.rb:51:in `initialize' 
     from C:/Users/Charlie/Documents/RailsProject/demo_app/config.ru:in `new' 

     from C:/Users/Charlie/Documents/RailsProject/demo_app/config.ru:in `<mai 
n>' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/rack-1.4.5/lib/rack/builder 
.rb:40:in `eval' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/rack-1.4.5/lib/rack/builder 
.rb:40:in `parse_file' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/rack-1.4.5/lib/rack/server. 
rb:200:in `app' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/c 
ommands/server.rb:46:in `app' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/rack-1.4.5/lib/rack/server. 
rb:304:in `wrapped_app' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/rack-1.4.5/lib/rack/server. 
rb:254:in `start' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/c 
ommands/server.rb:70:in `start' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/c 
ommands.rb:55:in `block in <top (required)>' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/c 
ommands.rb:50:in `tap' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/c 
ommands.rb:50:in `<top (required)>' 
     from script/rails:6:in `require' 
     from script/rails:6:in `<main>' 

回答

0

检查下面的事情

  • Gemfile已进入说gem 'mysql2'
  • 运行$ bundle update命令时会发生什么?任何错误
  • 你可以试试下面的命令来生成您的应用程序,

    rails new demo_app -d mysql

你得到什么错误,当您尝试了上面的应用程序?

+0

gem fiels包含gem'mysql2',包更新成功,使用mysql数据库创建了新的demo_app项目...成功 - >'cd demo_app' - >'rails s'->然后我得到以下错误。另外我想注意它说'Rails 3.2.13应用程序开始在http://0.0.0.0:3000上的开发'它应该是127.0.0.1:3000或localhost:3000,如何改变? – GivenPie 2013-04-09 17:48:10

+0

不,“0.0.0.0”表示它在所有接口上侦听。所以不是一个错误/错误。只需在浏览器中打开'localhost:3000'即可正常工作 – CuriousMind 2013-04-09 17:54:42

+0

我刚刚发布了完整的错误信息,请大家一看。 – GivenPie 2013-04-09 17:57:57