ruby-on-rails – 找不到有效的gem install activerecord-sqlite3-adapter

我是 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'

这就是宝石中的所有捆绑

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)

如果有人能解决我的问题,我将非常感激.

解决方法

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

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

# in your Gemfile
gem 'sqlite3'

然后从命令行运行:

$bundle install

确保sqlite3正确安装并显示在您的Gem包中,一切都应该有效.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...