バンドルを更新した後、古いバージョンのgemがインストールされているため、バンドルを更新することができます。 bundle
実行可能ファイルの下にそのようなコマンドはありません。つまり、bundle clean
です。これらの古き良き宝石をどうやって取り除くのですか?rails bundle clean
これは、私のレールアプリでスラグのサイズを減らすための試みです。
バンドルを更新した後、古いバージョンのgemがインストールされているため、バンドルを更新することができます。 bundle
実行可能ファイルの下にそのようなコマンドはありません。つまり、bundle clean
です。これらの古き良き宝石をどうやって取り除くのですか?rails bundle clean
これは、私のレールアプリでスラグのサイズを減らすための試みです。
Bundler 1.1以降を使用している場合は、できるだけ想像したとおりにbundle clean
を使用できます。 bundle install --path
を使用している場合は冗長です(Bundlerは--pathで指定した場所を管理するので古い宝石を削除する責任があります).Bundlerを使用して宝石をシステム宝石としてインストールした場合、bundle clean --force
はシステムを削除しますあなたのGemfileで必要とされない宝石。盲目的に明白な注意点:あなたのGemfileにないシステム・ジェムに依存する他のアプリを持っているなら、これをしないでください!
Pat Shaughnessyには、bundle clean
and other new additions in bundler 1.1の説明があります。
RVMを使用している場合は、gemsetsに宝石をインストールできます。そうすれば、完全にクリーンアップを実行したいときに、単にgemsetを削除すれば、そのgemsetにインストールされているすべてのgemが削除されます。あなたのもう一つの選択肢は、未使用の宝石をアンインストールし、bundle install
コマンドを再実行することです。
bundlerはproject-per-projectの宝石バージョニングツールであるため、bundle clean
コマンドは提供していません。そうすることは、望ましくない他のプロジェクトに関連した宝石を取り除く可能性を意味します。これは、おそらく、あなたのgemディレクトリを管理するためにbundlerが間違ったツールであることを意味します。私の個人的な提案は、特定のプロジェクトやルビーバージョンであなたの宝石をサンドボックスするためにRVM gemsetsを使うことです。
vendor/bundle
に宝石をインストールすると仮定しますか?もしそうなら、すべての宝石を削除して清潔にしないでください。bundle install
?
Gemfileから廃止されたGemを削除するだけです。あなたがHerokuについて話しているなら(あなたはそれについて言及していませんでした)、そのファイルの現在の内容を使用するだけで、新しいリリースがコンパイルされます。
これは必ずしも英雄のためではありません。私はレールアプリ自体のサイズを縮小したい。 – iGbanam
RVMを使用している場合は、現在のgemsetにrvm gemset empty
を使用することができます - このコマンドは、現在のgemsetにインストールされているすべてのgemを削除します(gemset自体はそのまま残ります)。実際のバージョンのgemをインストールするには、bundle install
を実行してください。 rvm gemset empty
の間にrake、bundlerなどの一般的な宝石類を削除しないように注意してください(その場合はgem install
より手作業でbundle install
にインストールしてください)。
非常に同じ質問に対する回答を検索すると、私はgem_unusedに遭遇しました。あなたも、この記事を読んたいかもしれません
:http://chill.manilla.com/2012/12/31/clean-up-your-dirty-gemsets/
ソースコードはGitHubの上で使用できない:https://github.com/apolzon/gem_unused
rvmを使っている人は、 'bundle clean --force'はあなたのグローバルな宝石に触れるのではなく、あなたの現在の宝石のものだけに触れることに注意してください。したがって、 'bundle clean --force'は' rvm gemset empty'と 'bundle install'の後に同じ結果を出します。 –
免責事項:注意しないと、「バンドルクリーンフォース」が多数の宝石を吹き飛ばす可能性があります。それはこの反応の最初の行でなければなりません...特にそれは非常に多くの票を持っているからです。注意してください! – jerrylroberts