アプリをHerokuにデプロイするためにアセットをプリコンパイルしようとしていますが、エラーを追跡する必要があります。
実行中:
Rails_ENV=production bundle exec rake assets:precompile
エラー:
/bin/rake assets:precompile:all Rails_ENV=production Rails_GROUPS=assets
rake aborted!
Please install the postgresql adapter: `gem install activerecord-postgresql-adapter` (pg is not part of the bundle. Add it to Gemfile.)
開発SQLiteと実稼働Postgresqlで次のGemfileを使用しているため
gem "Rails", "~> 3.1.0"
group :production do
gem 'pg'
end
group :development, :test do
gem 'sqlite3'
end
gem 'sass-Rails', "~> 3.1.0"
group :assets do
gem 'coffee-Rails', "~> 3.1.0"
gem 'uglifier'
gem 'compass', '~> 0.12.alpha.0'
gem 'html5-boilerplate'
end
私は多くのことを試みましたが、これを動作させることができません。
これが重要かどうかはわかりませんが、database.ymlは次のようになります。
production:
adapter: postgresql
Host: localhost
database: db
encoding: unicode
username: user
password: ''
古い質問ですが、受け入れられた答えは本当に質問に答えません-私は検索でこれを見つけたので、それは関連があると思います。
エラーの理由は、gem 'pg'
が実動gemグループにあるためです。rake assets:precompile
を実行すると、実稼働環境にアクセスします。したがって、実稼働環境をロードしようとしていますただし、すべての依存関係がインストールされているわけではありません。
Rails_ENV=production bundle exec Rails server
を実行すると、おそらく同様のエラーが発生します。
私は2つの異なる解決策を考えることができます
1)アプリのルートに.bundle/config
ファイルがあるかどうかを確認します。そうした場合は、WITHOUT :production
などと表示されているかどうかを確認してください。その行または.bundle
ディレクトリ全体を削除して、bundle
を再度実行します。
2)Gemfile
で
gem :development, :production do
gem 'pg'
end
:production
グループを削除しながら
_bundle
を再度実行します
古いものを持ってきてすみません...