【问题标题】:Add `gem 'mysql2'` to your Gemfile for no rails project in Ruby Nitrouis IO在 Ruby Nitrouis IO 中将 `gem 'mysql2'` 添加到您的 Gemfile for no rails 项目
【发布时间】:2015-11-08 17:02:47
【问题描述】:

我为 mysql2 和 Active Record 安装了 gem。当我运行我的代码时,我得到一个错误:

/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/connection_specification.rb:177:in` `rescue in spec': Specified 'my sql2' for database adapter, but the gem is not loaded. Add `gem 'mysql2'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord). (Gem::LoadError)
        from /usr/local/opt/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/connection_specification.rb:174:in `spec'
        from `/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_handling.rb:50:in `establish_connection'

这是我的代码:

require 'mysql2'
require 'active_record'

client = Mysql2::Client.new(:host => "localhost", :username => "root")

client.query("show databases").each do |db|
  p db
end

ActiveRecord::Base.establish_connection(
  adapter: 'mysql2',
  databases: 'store_manager'
)

错误是说我需要将我的 sql2 添加到我的 gemfile。我在哪里可以找到它,有什么需要补充的吗?

【问题讨论】:

    标签: ruby activerecord gem


    【解决方案1】:

    您可以在项目的根目录下创建一个 Gemfile。这应该允许您使用 mysql2 gem。

    【讨论】:

      【解决方案2】:

      对于 Active Record 4.2.4,您需要使用以下版本的 mysql gem:

      gem "mysql2", "~> 0.3.18"
      

      【讨论】:

      • 我添加了 mysql 我的 gemfile。我仍然遇到同样的错误。
      • @Aaron:请编辑您的问题以包含您的 Gemfile,我们会看看。
      猜你喜欢
      • 2023-03-07
      • 2016-01-10
      • 2013-10-16
      • 2020-10-12
      • 2015-05-07
      • 2014-04-25
      • 2012-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多