2016-09-21 15 views
5

私はCairo-14スタック上で動作するHeroku上に新しいバージョンのRails 5アプリケーションを導入しました。デプロイ中にプリコンパイルされなかったので、手動でheroku run rake assets:precompileを実行しました。それでも、古い資産が含まれているのがわかりますが、cssjsというファイルが必要です。HerokuがRails 5アプリケーション用の古い資産を提供しています

私のファイルはapp/assetsなので、そのディレクトリは資産をコンパイルするパスにはありません。

application.rbproduction.rbのマイ設定:

config.assets.compile = true 

# I checked the environment variable, it responds to 'enabled', 
# which would return true for the option. 
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present? 

# Which I changed to expire old assets. 
config.assets.version='1.1' 

私はこれらを試してみましたが、彼らは動作しませんでした:

  • $ heroku restart
  • $ heroku run rake assets:precompile
  • $ heroku run rake assets:clobber

これらの奇妙なことは、私が$ heroku run ls public/assetsとチェックしたherokuサーバーの資産には影響しないということです。でも、それはこのことを言うにもかかわらず、$ rake assets:precompile後:私は$ heroku run ls public/assetsを覗いたときに、私はまだ古い資産がそこに滞在ご覧

WRITING /app/public/assets/application-{VERY_LONG_HASH}.js 
WRITING /app/public/assets/application-{VERY_LONG_HASH}.js.gz 
WRITING /app/public/assets/application-{VERY_LONG_HASH}.css 
WRITING /app/public/assets/application-{VERY_LONG_HASH}.css.gz 

EDIT:私は、public/assetsにすべてのローカルの資産を削除$ rake assets:clean && rake assets:precompileでそれらを再コンパイルし、私のgitリポジトリにこれらの資産を含むことによってそれを解決しました。ここに1つの懸念事項があります:

私のアセットをオンザフライでコンパイルする責任はありませんか?私は自分のアプリケーションを配備するたびに私の資産を集めてはならないと思う。ありがとう。

+0

あなたはそれを解決しましたが、あなたのローカルインスタンスでそれを実行して英雄に押し込むのではなく、あなたがアプリの「ヒーロー」インスタンス内で 'assets:clobber'と' assets:precompile'のようなすべての操作をしていたことが問題だと思います。あなたの質問については、私は英雄(1年)を使い始めて以来、それも不思議です。 – Sajan

答えて

0

変更を最初にコミットする必要があります。 そして、Herokuの上git add .

got commit -m"assets precompile"

git push origin yourBranchName

展開ローカル

RAILS_ENV=production bundle exec rake assets:precompile 

次へgit push heroku yourbranch:master

+0

私は既に有効にされた自動展開とgithubの統合を持っています。私が述べたように、私はアプリケーションが展開されていることを確信しています。 – YigitOzkavci

+0

私のコードの状態をgit statusで確認します。ファイルがあれば、追加してコミットしてください。 –

+0

私が知りたいことは、プリコンパイルされたアセットをコミットする必要があるということですか?それは資産を編成する理由を批判するものではありませんか? 私が言ったように、問題はコミットやプッシュではないと確信しています。 – YigitOzkavci

1

実行]を実行し、あなたが行われてい

+1

これは失敗した解決策です...あなたはgitリポジトリにコンパイルされたアセットを追加したくありません。 – Daniel

関連する問題