1

rails 3.2 ruby​​ 1.9.3 アプリをデジタルオーシャンにデプロイしようとしています。cap deploy:setupcap deploy:check、を実行した後cap deploy、次のエラーが表示されます。

$ gem install activerecord-postgresql-adapter
  * ←[33mexecuting "cd -- /home/deployer/apps/csd3/releases/20130724142600 && RA
ILS_ENV=production RAILS_GROUPS=assets bundle exec rake assets:precompile"←[0m
    servers: ["192.241.141.56"]
    [192.241.141.56] executing command
 ** [out :: 192.241.141.56] rake aborted! 
 ** [out :: 192.241.141.56] Please install the postgresql adapter: `gem install
activerecord-postgresql-adapter` (pg is not part of the bundle. Add it to Gemfil
e.)

サーバーで gem install activerecord-postgresql-adapter を実行すると、完了します。ただし、cap deploy を実行すると、同じメッセージが表示されます。database.yml ファイルに問題がある可能性があることがわかりましたが、問題ないようです。

development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

test: 
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000

production:
  adapter: postgresql
  encoding: unicode
  database: chodae_database
  host: 192.241.141.56
  pool: 5
  username: chodae
  password:

そしてGemfile:

group :development do
  gem 'quiet_assets', '1.0.2'
  gem 'sqlite3', '1.3.7'
  gem 'thin', '1.5.0'
  gem 'better_errors', '0.7.0'
  gem 'binding_of_caller', '0.7.1'
  gem 'meta_request', '0.2.2'
  gem 'wirble', '0.1.3'
  gem 'hirb', '0.7.1'
  gem 'populator3', '0.2.7'
  gem 'faker', '1.1.2'
  gem 'localtunnel'
  gem 'capistrano'
end

group :production do
  gem 'pg', '0.15.1'
  gem 'pg_search', '0.6.2'
  gem "nginx", '0.0.2'
  gem "passenger", "~> 4.0.10"
end

どうすればこれを修正できますか?

4

1 に答える 1

2

まず、すべての環境で同じ DB を使用することをお勧めします。
サーバー上で実行RAILS_ENV=production bundle exec gem install pgしていただけますか?

問題は、実行時にアセット グループに pg gem が存在しないことです。

RAILS_ENV=production RAILS_GROUPS=assets bundle exec rake assets:precompile
于 2013-07-24T15:47:43.707 に答える