だから私はこれに1日を費やし、少しでも関連するすべてのSOの質問を読み、Herokuのドキュメントをチェックしました。
これは、プッシュ時の Heroku の問題です。
-----> Preparing app for Rails asset pipeline
Running: rake assets:precompile
rake aborted!
could not connect to server: Connection refused
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5432?
きっとおなじです。
Rails 4 での Heroku の展開で多くのことが変更されたことは承知していますが、それを修正するために 4.0 以前の提案の多くを試してみました。
これは:
/tmp/build_22xpuyyrmltz6/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/connection_adapters/postgresql_adapter.rb:825:in `initialize'
/tmp/build_22xpuyyrmltz6/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/connection_adapters/postgresql_adapter.rb:825:in `new'
/tmp/build_22xpuyyrmltz6/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/connection_adapters/postgresql_adapter.rb:825:in `connect'
/tmp/build_22xpuyyrmltz6/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/connection_adapters/postgresql_adapter.rb:542:in `initialize'
/tmp/build_22xpuyyrmltz6/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/connection_adapters/postgresql_adapter.rb:41:in `new'
/tmp/build_22xpuyyrmltz6/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/connection_adapters/postgresql_adapter.rb:41:in `postgresql_connection'
など...私が集めたものから、これはコンパイル時にデータベースにアクセスしようとしているからです。
これまでの私の質問は、この質問のカーボンコピーです
RAILS_ENV=production bundle exec rake assets:precompile
正常に実行され、manifest.json が生成されますが、Heroku はそれを認識しません。
私もこれを試しましたが、Rails 4 はデフォルトで false だと思います。
config.assets.initialize_on_precompile = false
それで、私が喜んで試した回避策は次のとおりです。
heroku labs:enable user-env-compile
私はこれを最も多く試し、新しいherokuアプリを作成し、オンとオフを切り替え、オンとオフを切り替えました。複数のプッシュを試しました。私も必要に応じてコミットしていたので、そうではありませんでした。
rails_12factor など、覚えていないものも試しました。すべて役に立たない。
足りないものはありますか?user-env-compile は他の人の問題を解決しているようですが、私には効果がないようです。
コンピューターを数回再起動しました...助けていただければ幸いです。