请安装mysql2适配器:`gem install activerecord-mysql2-adapter`(mysql2不是bundle的一部分。将它添加到Gemfile。)(LoadError)

时间:2013-05-02 16:46:41

标签: ruby-on-rails windows-7

在Windows 7上使用WEBrick启动rails服务器时出现以下错误:

C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/rubygems_integ ration.rb:214:在block in replace_gem': Please install the mysql2 adapter:宝石中  安装activerecord-mysql2-adapter`(mysql2不是捆绑包的一部分。添加它 到Gemfile。)(LoadError)

我已经确定database.yml的适配器为mysql2,gemfile列出了mysql2。下面是我的database.yml文件和gem文件

    development:
      adapter: mysql2
      encoding: utf8
      reconnect: false
      database: elearn3_development
      pool: 5
      username: root
      password: password
      host: 127.0.0.1
      port: 3306

    test:
      adapter: mysql2
      encoding: utf8
      reconnect: false
      database: elearn3_test
      pool: 5
      username: root
      password: passsword
      host: 127.0.0.1
      port: 3306

    production:
      adapter: mysql2
      encoding: utf8
      reconnect: false
      database: elearn3_production
      pool: 5
      username: root
      password: passsword
      host: 127.0.0.1
      port: 3306

宝石文件:        来源'https://rubygems.org'

gem 'rails', '3.2.13'

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

gem 'mysql2'


# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby

gem 'uglifier', '>= 1.0.3'
    end

gem 'jquery-rails'

我已尝试在其他具有相同问题的线程中发布的所有各种选项,例如添加gem'mysql2''version no'。它无法解决问题。在发出sql-lite时我也有同样的问题。

感谢您的帮助。提前谢谢。

编辑:当我运行bundle install时,我在窗口中看到以下内容。请注意,mysql2不是使用列表的一部分。这是正常的吗?

    Using rake (10.0.4)
Using i18n (0.6.1)
Using multi_json (1.7.2)
Using activesupport (3.2.13)
Using builder (3.0.4)
Using activemodel (3.2.13)
Using erubis (2.7.0)
Using journey (1.0.4)
Using rack (1.4.5)
Using rack-cache (1.2)
Using rack-test (0.6.2)
Using hike (1.2.2)
Using tilt (1.4.0)
Using sprockets (2.2.2)
Using actionpack (3.2.13)
Using mime-types (1.23)
Using polyglot (0.3.3)
Using treetop (1.4.12)
Using mail (2.5.3)
Using actionmailer (3.2.13)
Using arel (3.0.2)
Using tzinfo (0.3.37)
Using activerecord (3.2.13)
Using activeresource (3.2.13)
Using coffee-script-source (1.6.2)
Using execjs (1.4.0)
Using coffee-script (2.2.0)
Using rack-ssl (1.3.3)
Using json (1.7.7)
Using rdoc (3.12.2)
Using thor (0.18.1)
Using railties (3.2.13)
Using coffee-rails (3.2.2)
Using jquery-rails (2.2.1)
Using bundler (1.3.5)
Using rails (3.2.13)
Using sass (3.2.8)
Using sass-rails (3.2.6)
Using uglifier (2.0.1)
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.

编辑在尝试http://www.mohanarun.com/how-to-install-mysql-adapter-ruby-gem-in-windows/的说明后,我看到捆绑安装正在拾取mysql。但是,当我做rails服务器时,我得到以下错误。

/ * * /

之前还有更多错误

pport / core_ext / load_error.rb   369 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_su pport / core_ext / name_error.rb   370 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_su pport / core_ext / uri.rb   371 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/actionpack-3.2.13/lib/action_contr oller.rb   372 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/actionpack-3.2.13/lib/action_view/ railtie.rb   373 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/actionpack-3.2.13/lib/abstract_con troller / railties / routes_helpers.rb   374 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/actionpack-3.2.13/lib/action_contr 奥勒/ railties / paths.rb   375 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/actionpack-3.2.13/lib/action_contr 奥勒/ railtie.rb   376 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activerecord-3.2.13/lib/active_rec ORD / railtie.rb   377 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/actionmailer-3.2.13/lib/action_mai LER / version.rb   378 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_su pport / core_ext /班/ delegating_attributes.rb   379 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_su pport / core_ext /模块/ reachable.rb   380 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_su pport / core_ext /班/ subclasses.rb   381 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_su pport / core_ext / class.rb   382 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_su pport / core_ext /阵列/ uniq_by.rb   383 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/actionmailer-3.2.13/lib/action_mai ler.rb   384 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/actionmailer-3.2.13/lib/action_mai LER / railtie.rb   385 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activeresource-3.2.13/lib/active_r esource / exceptions.rb   386 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activeresource-3.2.13/lib/active_r esource / version.rb   387 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activeresource-3.2.13/lib/active_r esource.rb   388 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activeresource-3.2.13/lib/active_r esource / railtie.rb   389 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/test_uni 吨/ railtie.rb   390 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/actionpack-3.2.13/lib/sprockets/ra iltie.rb   391 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/all.rb   392 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_su pport / string_inquirer.rb   393 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/mysql2-0.3.11/lib/mysql2/version.r b   394 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/mysql2-0.3.11/lib/mysql2/error.rb   395 C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/mysql2-0.3.11/lib/mysql2/result.rb

[注] 您可能在Ruby解释器或扩展库中遇到了错误。 欢迎提供错误报告。 有关详细信息:bugreport

此应用程序已请求Runtime以不寻常的方式终止它。 请联系应用程序的支持团队以获取更多信息。

3 个答案:

答案 0 :(得分:3)

确保将以下内容添加到您的Gemfile:

gem 'mysql'
gem 'mysql2', "~> 0.3.10"

然后运行

bundle install

问题太旧了,但这可能有助于其他人。

答案 1 :(得分:0)

修改Gemfile和bundle install之后,你应该重新启动Rails服务器,它可以重新加载bundle gems

答案 2 :(得分:0)

生产中发生了同样的问题,以下是问题所在。

  1. 必须将sqlite gem移动到Gemfile中的开发
  2. 必须在Gemfile
  3. 中添加mysql2 gem
  4. 必须运行bundle install才能更新Gemlock
  5. 必须将这些更改提交给git并更新远程git repo。
  6. 这些步骤非常适合我的制作设置,但我希望它们对其他人也有帮助。