Ошибка Heroku при запуске приложения rails3.1 отсутствует драгоценный камень postgres - PullRequest
14 голосов
/ 20 июня 2011

Я пытаюсь развернуть на heroku.

Rails 3.1.0.rc4,

Я получаю следующую ошибку из журналов Heroku:

Starting process with command: `thin -p 48902 -e production -R /home/heroku_rack/heroku.ru start`
2011-06-20T11:25:44+00:00 app[web.1]: /app/.bundle/gems/ruby/1.9.1/gems/activerecord-3.1.0.rc4/lib/active_record/connection_adapters/abstract/connection_specification.rb:71:in `rescue in establish_connection': Please install the postgresql adapter: `gem install activerecord-postgresql-adapter` (pg is not part of the bundle. Add it to Gemfile.) (RuntimeError)

Я пыталсяустановить activerecord-postgresql-адаптер, но затем я получаю эту ошибку:

Could not find gem 'activerecord-postgresql-adapter (>= 0)' in any of the gem sources listed in your Gemfile.

Поэтому я попытался добавить это в свой файл gem

gem 'pg'

который породил эту ошибку:

Installing pg (0.11.0) with native extensions /Users/imac/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:533:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

есть идеи?

Ответы [ 3 ]

18 голосов
/ 26 июня 2011

Вам не нужно устанавливать Postgres локально . В вашем Gemfile поместите 'pg' в группу: production, как предлагает johnny-grass, а затем, когда вы запускаете bundle, просто укажите --with production, например:

bundle --without production

К сожалению, вы должны помнить этот аргумент при запуске bundler, но, по крайней мере, вам не нужно устанавливать и обслуживать postgres локально.

Обратите внимание, что Heroku "настоятельно рекомендует" не использовать sqlite, заявив, что "Ваша среда производства и разработки должна быть как можно ближе к идентичной" http://devcenter.heroku.com/articles/rails3

12 голосов
/ 20 июня 2011

У вас есть PostgreSQL , установленный на вашем компьютере?Если вы не установили его сначала, то установите гем pg.

# gemfile
group :production do
  gem 'therubyracer-heroku', '0.8.1.pre3' # you will need this too
  gem 'pg'
end
6 голосов
/ 01 ноября 2011

Я нашел решение в этой статье Heroku .

Как сказал Джаред, они предлагают создать другую группу для postgresql.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...