我跟随Ruby on Rails Tutorial并且在测试部分感到有些困惑,特别是 - 3.6.2 - Automated tests with Guard
根据教程的部署到Heroku的说明,我已切换到Postgresql并从我的gemfile中删除了sqlite3并进行了一个bundle install以进行更新。
但是,一旦我运行
捆绑执行警卫
我收到消息:
/Users/username/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.1.3/lib/bundler/rubygems_integration.rb:147:in
block in replace_gem': Please install the sqlite3 adapter:
gem install activerecord -sqlite3-adapter`(sqlite3不是bundle的一部分。将它添加到Gemfile。)(LoadError)
我很困惑为什么我需要这个,因为sqlite3已经从我的环境中移除了?
我的Gemfile如下:
source 'https://rubygems.org'
gem 'rails', '3.2.3'
gem 'pg', '0.12.2'
group :development, :test do
gem 'rspec-rails', '2.9.0'
gem 'guard-rspec', '0.5.5'
end
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '3.2.4'
gem 'coffee-rails', '3.2.2'
gem 'uglifier', '1.2.3'
end
gem 'jquery-rails', '2.0.0'
group :test do
gem 'rspec-rails', '2.9.0'
gem 'capybara', '1.1.2'
gem 'rb-fsevent', :require => false
gem 'growl', '1.0.3'
gem 'spork', '0.9.0'
end
我有点困惑,因为教程中的Gemfile再次显示sqlite3,即使它已在本教程的上一部分中删除了。
答案 0 :(得分:14)
更新数据库配置文件以使用postgresql适配器:
adapter: postgresql
encoding: unicode
database:
username:
password: