【发布时间】:2013-08-03 11:08:51
【问题描述】:
我使用自制软件安装了 postgres,它运行良好 - 但现在 rspec 不会运行我的测试并抛出此错误:
Could not find pg-0.16.0 in any of the sources (Bundler::GemNotFound)
我的“gemfile”的相关部分
group :production do
gem 'pg'
end
group :development, :test do
gem 'sqlite3'
end
显然我想让它工作,但老实说,我更困惑为什么这首先会引发错误。 Rspec 在我的测试/开发环境中,而 postgres 仅在生产中 - 那么为什么 Rspec 关心(甚至知道!)关于 postgres?
【问题讨论】:
-
如果您使用相同的数据库进行开发、测试和部署,您可以解决此问题并避免许多其他问题。数据库之间存在差异,没有 ORM 可以将您与之隔离。是的,SQLite 是 Rails 的默认设置,但这是一个愚蠢的默认设置,Rails 人员应该为这个决定感到羞耻。
-
@muistooshort,同意。我试图使用不同的数据库仅用于生产以推送到 heroku,但这是一个愚蠢的举动。暂时会坚持使用 sqlite,然后再改用 MySQL。
标签: ruby-on-rails postgresql rspec ruby-on-rails-3.2