4

我正在尝试将 rails 应用程序部署到 heroku,但不断收到以下错误。我原以为管理 postgres gem 将是 heroku 会处理的事情。

除了在我的本地机器上安装 postgres 之外,我已经尝试了所有我能想到的方法,如果我想安装 postgres gem,我需要这样做。也没有所谓的宝石activerecord-postgresql-adapter......我猜这是导轨随附的标准适配器?

关于如何解决这个问题的任何想法?

App failed to start

/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_specification.rb:76:in `establish_connection': Please install the postgresql adapter: `gem install activerecord-postgresql-adapter` (no such file to load -- pg) (RuntimeError)
from /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_specification.rb:60:in `establish_connection'
from /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_specification.rb:55:in `establish_connection'
from /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:438:in `initialize_database'
from /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:141:in `process'
from /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `send'
from /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `run'
from /disk1/home/slugs/135415_c7f31f0_9f1f/mnt/config/environment.rb:9
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
 ... 14 levels...
from /usr/local/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in `instance_eval'
from /usr/local/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in `initialize'
from /home/heroku_rack/heroku.ru:1:in `new'
from /home/heroku_rack/heroku.ru:1
4

4 回答 4

7

将您的 Gemfile 升级到 Bundler 0.9并添加pggem。就这么简单。

于 2010-02-21T01:17:44.887 回答
1

事实证明这是一个错误,因为bundler在 heroku 和我的机器上运行的版本不同。我已经切换到使用.gems依赖文件,一切似乎都在工作。

于 2010-02-20T15:01:30.527 回答
1

Heroku 捆绑器支持的详细信息在这里:http: //docs.heroku.com/bundler

Heroku 要求您指定 'pg' gem。

于 2010-03-13T16:37:33.177 回答
0

哇我一直在做同样的事情太久了。。

我意识到我使用的是 gem 'ps' 而不是 'pg'

>.<

愚蠢的postres宝石!

于 2011-12-15T06:22:39.300 回答