web-dev-qa-db-ja.com

herokuにデプロイするときにバンドラーキャッシュをクリーンアップする

Heroku(Ruby on Rails app using the heroku_san gem))にデプロイするときはいつでも、次のように表示されます。

Cleaning up the bundler cache.
Would have removed sitemap_generator (2.0.1.pre1)
Would have removed newrelic_rpm (3.5.5.38)
Would have removed httparty (0.10.0)
Would have removed thor (0.16.0)
Would have removed ckeditor (3.7.1)
Would have removed fog (1.8.0)
Would have removed rake (0.9.2.2)
Would have removed dalli (2.6.0)

(または以前のデプロイメントで使用した可能性のある他の古いgem)Herokuアプリでバンドラーキャッシュをクリーンアップするにはどうすればよいですか?私は実行しようとしました:

heroku run bundle clean --force

しかし、それは役に立ちませんでした。

Herokuのバンドラーキャッシュをクリーンアップする方法を教えてもらえますか?または、このメッセージを無視する必要がある場合はどうなりますか?

33
Rubinsh

これは、最近導入されたBundlerの変更によるものです。私たち(Heroku)は、--dry-runモードで実行されていると考える理由を追跡し、修正する必要があります。

それまでの間、これは有害ではなく、問題を引き起こすことはありません。残念ながら、心配している場合は手動でキャッシュをクリアする方法はありません。

22
wuputah

また、これまでにデプロイしたすべてのHerokuアプリでこれを取得し、まだ問題が発生していません。

これがあなたがそれについて心配する必要がないと思う理由です:

  • サーバーに大量のgemが保存されていても、アプリの速度が低下することはありません。ちなみに、Gemfileに不要なgemを大量に投入した場合でも、顕著なパフォーマンスへの影響は、アプリの最初の起動時間とその後のメモリ使用量にある可能性があります。そして、それらのgemがGemfileにない場合、アプリのパフォーマンスへの影響はゼロになるはずです。
  • Herokuには無料アカウントのナメクジに対して100MBのソフト制限がありますが、私自身の事例証拠は、これにはGemfileから削除したgemが含まれていないことを示唆しています(以下の野生の推測が正しい場合は理にかなっています)。

そして、Herokuがバンドラーキャッシュをクリーンアップしない理由についての野蛮な憶測があります:

メモリはハードドライブのスペースよりも高価であるため、ほとんどのgemはハードドライブ上でわずかなスペースを占める可能性がありますが、大量のgemをメモリにロードする必要がある場合は合計することができます。ただし、gemがGemfileにない場合、メモリにはありません。また、後で気が変わってGemfileに再度追加したい場合に備えて、gemをドライブに保存しておくよりも、削除する(場合によっては後で再ダウンロードする)方がコストがかかる可能性があります。

5
Chris Fritz