尝试使用Capistrano的cap production deploy
将我的应用部署到Digital Ocean Droplet时,我一直收到错误消息。我得到的错误信息是:
rake aborted!
Gem::LoadError: Specified 'postgresql' for database adapter, but the gem is not loaded.
Add `gem 'pg'` to your Gemfile
但我的Gemfile在pg
中包含production
:
...
group :production do
gem 'rails_12factor'
gem 'pg'
end
...
导致这种情况的原因是什么?
我尝试将数据库适配器重置回sqlite3
,只是为了查看部署是否会通过,并得到同样的错误:
Gem::LoadError: Specified 'sqlite3' for database adapter, but the gem is not loaded. Add `gem 'sqlite3'` to your Gemfile
答案 0 :(得分:0)
结果是Win用户的已知错误。在Gemfile.lock
中,更改
sqlite3 (1.3.10-x86-mingw32)
到
sqlite3 (1.3.10-x64-mingw32)
我是直接在我的仓库中完成的,因为每次我在本地进行此更改并运行bundle install时,x64
标志都会被切换回来。
答案 1 :(得分:0)
你的Gemfile中还应该有其他的东西 - 我建议你从你的Gemfile中删除这一行:
gem 'rails_12factor'
rails_12factor是一个特定于Heroku的日志记录宝石,它会对您的Digital Ocean Rails服务器造成严重破坏。我可以证明。