9

gemfile をクリーンアップして Rails の起動を高速化するためのシンプルだが良い方法を探しています。必要なすべての gem とロードされたすべての gem のリストを取得するにはどうすればよいですか。

4

4 に答える 4

22

bundle clean --force以前にインストールされたが、現在の Gemfile.lock マニフェストで現在使用されていない古い gem (または現在使用されている gem の古いバージョン) を削除します。

于 2013-10-03T20:25:11.257 に答える
2

それはあなたがここで何を求めているかによります。

古い未使用の gem バージョンを削除する場合は、クリーンにバンドルしてください。

開発中に gem を追加していて、実際に使用しているものを見失っていて、テスト カバレッジが良好な場合は、この回答を試してください。

Rails が起動時にプルする gem の数を最小限に抑えたい場合は、gem_benchを試してください。

于 2015-02-20T12:40:05.603 に答える
0

無理だと思います。APP が起動すると、Gemfile.lock から gem が読み込まれますが、それら (gem) がコードで必要かどうかはわかりません。必要な宝石が欠落している場合 (Gemfile から削除した場合)、何かが未定義のクラスまたはメソッドを呼び出すと、APP は例外を発生させて通知しますが、これは (APP の起動中ではなく) いつでも発生する可能性があります。

したがって、宝石リストをクリーンアップする方法を探している場合は、手動で行うのが最善の方法だと思います (簡単な方法ではないことはわかっています)。各 gem を分析して、それが提供する機能を見つけ、それが必要かどうかを判断 (またはコード内で検索) します。さらに、テスト (ある場合) が大いに役立つはずです。

于 2013-10-03T20:02:19.727 に答える