9

我是Ruby的初学者。我按照http://rubyonrails.org/download上的步骤安装了 Ruby on rails 并按照 youtube 教程创建了一个名为“Blog”的项目。http://www.youtube.com/watch?v=UQ8_VOGj5H8

但是每当我使用命令rails s时,它都会报错:

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 sqlite3 adapter: `ge
m install activerecord-sqlite3-adapter` (sqlite3 is not part of the bundle. Add
it to Gemfile.) (LoadError)

这发生在我的笔记本电脑和 PC 上,都使用 Windows 7。我尝试运行命令gem install activerecord-sqlite3-adapter,但随后我给出了错误。

C:\Users\Ouye\blog>gem install activerecord-sqlite3-adapter
ERROR:  Could not find a valid gem 'activerecord-sqlite3-adapter' (>= 0) in any
repository
ERROR:  Possible alternatives: activerecord-jdbcsqlite3-adapter, activerecord-sq
lserver-adapter, activerecord-bq-adapter, activerecord-simpledb-adapter, activer
ecord-mysql2-adapter

我尝试了上述所有替代方案并更新了我的捆绑安装,一些替代方案有效,有些无效。在我尝试了上述所有替代方法并运行“rails s”后,我仍然收到告诉我安装 sqlite3 适配器的相同错误。

这就是我的 gem 文件的样子

source 'https://rubygems.org'

gem 'rails', '3.2.13'
gem 'sqlite3'

group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

这是 gem 中的所有捆绑包

Gems included by the bundle:
  actionmailer (3.2.13)
  actionpack (3.2.13)
  activemodel (3.2.13)
  activerecord (3.2.13)
  activeresource (3.2.13)
  activesupport (3.2.13)
  arel (3.0.2)
  builder (3.0.4)
  bundler (1.3.5)
  coffee-rails (3.2.2)
  coffee-script (2.2.0)
  coffee-script-source (1.6.2)
  erubis (2.7.0)
  execjs (1.4.0)
  hike (1.2.2)
  i18n (0.6.1)
  journey (1.0.4)
  jquery-rails (2.2.1)
  json (1.7.7)
  mail (2.5.3)
  mime-types (1.23)
  multi_json (1.7.3)
  polyglot (0.3.3)
  rack (1.4.5)
  rack-cache (1.2)
  rack-ssl (1.3.3)
  rack-test (0.6.2)
  rails (3.2.13)
  railties (3.2.13)
  rake (10.0.4)
  rdoc (3.12.2)
  sass (3.2.9)
  sass-rails (3.2.6)
  sprockets (2.2.2)
  thor (0.18.1)
  tilt (1.4.1)
  treetop (1.4.12)
  tzinfo (0.3.37)

如果有人能解决我的问题,我将不胜感激。

4

3 回答 3

19

您不能activerecord-sqlite3-adapter作为 gem 安装,因为这个适配器已经包含在 ActiveRecord 中。问题不在于activerecord-sqlite3-adapter,而在于您sqlite3的 Gem 捆绑包中没有(错误消息最后告诉我们:“ sqlite3 不是捆绑包的一部分。 ”)

要修复它,首先将它添加到您的 Gemfile 中:

# in your Gemfile
gem 'sqlite3'

然后从命令行运行:

$ bundle install

确保sqlite3正确安装并显示在您的 Gem 包中,并且一切正常。

于 2013-05-13T00:50:02.833 回答
6

我遇到了与您提出的问题相同的问题,经过大量试验和错误,我找到了一些简单的步骤来解决它。

首先,添加到您的 Gemfile:

gem 'sqlite3', '1.3.5'

然后在您的控制台中运行:

bundle install

然后你应该正常进行

于 2013-10-10T01:51:41.310 回答
2

Ruby 2.0 与 sqlite3 有问题,无法运行。如果你需要使用 sqlite3,你必须降级到 1.9.3。我没有有关此文档的链接,但我知道如果您降级到 1.9.3,您会没事的。我看看能不能找到链接。

于 2013-11-27T14:58:30.843 回答