没有名为"activerecord-sqlite3-ruby-adapter"的 gem。

4

我正在尝试在本地Ruby 1.8中使用SQLite3数据库设置Active Records。这应该很容易,因为我在外面看到了很多解释的例子。我正在使用一些我找到的示例代码,它非常基础,以以下行开始:

require 'rubygems'
require 'active_record'
#require 'sqlite3-ruby'

...

ActiveRecord::Base.establish_connection(
    :adapter => "sqlite3-ruby",
    #:dbfile  => ":memory:"
    :database  => ":memory:"
    #:database  => "/home/fgysin/bender/gen2/metaDB/testing/sql3.db"
)

ActiveRecord::Schema.define do  
  create_table :albums do |table|
    table.column :title, :string
    table.column :performer, :string
  end

  create_table :tracks do |table|
    table.column :album_id, :integer
    table.column :track_number, :integer
    table.column :title, :string
  end
end

但是当我运行这个例子(它会创建一些表格并打印一些简单的统计数据)时,我遇到了以下错误:
/var/lib/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_specification.rb:
76:in `establish_connection':
Please install the sqlite3-ruby adapter:
`gem install activerecord-sqlite3-ruby-adapter`

(no such file to load -- active_record/connection_adapters/sqlite3-ruby_adapter) (RuntimeError)
from 2nd.generation/ActiveRecordExample.rb:8

我尝试安装activerecord-sqlite... gem,但无处可寻。我在谷歌上搜索了这个gem名字,但没有任何结果。
以下与sqlite/activerecords相关的gems已经安装: (我安装了'activerecord','sqlite3-ruby'和'activerecord-jdbcsqlite3-adapter',尽管后者是为JRuby设计的...)
activerecord (2.3.5, 2.3.4, 2.2.2, 2.1.0)
activerecord-jdbc-adapter (0.9.2)
activerecord-jdbcsqlite3-adapter (0.9.2)
sqlite3-ruby (1.2.5)
dbd-sqlite3 (1.2.5)
jdbc-sqlite3 (3.6.3.054)

请问有人能提供一个解决方案吗?我真的不知道如何找到/安装所需的sqlite3/activerecords适配器。它叫什么名字?显然,这不是错误消息建议的适配器,因为它在本地或存储库中都没有找到...

1个回答

2

可能只是一次无从下手的尝试,但你是否尝试过更改:

:adapter => "sqlite3-ruby",

:adapter => "sqlite3",


1
很久以前我遇到了上述问题。不过还是感谢你提供意见。 :) - fgysin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接