私はS3をインストールしました。それは英雄でうまくいきます。 RAILS_ENV=production bundle exec rake assets:precompile
を実行してアセットをherokuにプッシュしようとすると、上記のエラーが返されます。 heroku configを実行すると、すでにS3バケットが設定されています。KeyError:キーが見つかりません: "S3_BUCKET_NAME"
これは何を探しているのですか、なぜ資産をコンパイルするのにS3の名前を見つけることができないのですか。 production.rb
config.paperclip_defaults = {
storage: :s3,
s3_credentials: {
bucket: ENV.fetch('S3_BUCKET_NAME'),
access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
s3_region: 'us-west-2',
}
}
で
私はこの上でいくつSO見つけたが、どれも解決に向けて私を指していません。どんな助けもありがとう!
更新日: 私がローカルでコンパイルする理由は、herokuがapplication.jsファイルを取り出しているためです。
remote: Running: rake assets:precompile
remote: I, [2016-09-23T15:12:53.753671 #267] INFO -- : Writing /tmp/build_97a8fe2ca07bc4bf090be26f2be2872b/public/assets/application-9c608f99ae2b1980d74ba674b9f9ff7f0ae113d532e2c2ea580960a6a53346bb.js
remote: Asset precompilation completed (6.54s)
remote: Cleaning assets
remote: Running: rake assets:clean
remote: I, [2016-09-23T15:12:55.908630 #273] INFO -- : Removed application-489c5647af1ca8b6a56e560e8a83d77a1a070778dabb4f0b40f55c4a4e5b8feb.js
これは実際問題です。私は英雄にプッシュすると、application.jsを取り出します。だから私はそれをherokuにプッシュされるようにローカルでコンパイルしようとしています。ログエラーのエラーを更新します。あなたの知識のために、私はS3をインストールする前にローカルでコンパイルしていました。 – gwalshington
@ gwalshingtonあなたはあなたの問題を誤診しました。アセットをローカルでコンパイルしてHerokuにプッシュするのは間違った答えです。 Herokuはあなたのapplication.jsを削除していません。あなたのapplication.jsの古いバージョン*を削除しています – meagar
実際、application.jsはプロジェクトには全くありません。それがなぜそこにないのかについての考えはありますか?そして、それがそこにないことを確認するために、私はconsole.logに、ページが読み込まれたときに何かを要求しています。 – gwalshington