アプリケーションがbundlerを使用している場合、Gemfileを調べることで、インストールされているすべてのgemを簡単に見つけることができます。
たとえば、バンドラーを使用しないRails 3アプリケーションを見ているのですが、どのgemを使用しているかを知るにはどうすればよいですか?
ありがとう
アプリケーションがbundlerを使用している場合、Gemfileを調べることで、インストールされているすべてのgemを簡単に見つけることができます。
たとえば、バンドラーを使用しないRails 3アプリケーションを見ているのですが、どのgemを使用しているかを知るにはどうすればよいですか?
ありがとう
Bundlerを使用していない場合、使用されているすべての宝石を識別するための明確な方法がわかりません。アプリツリー全体で最初のrequire
ステートメントを検索することもできますが、ほとんどのステートメントは表示されません。ジェムは内部で他のジェムも必要とし、独自の依存関係をインストールしますが、それらのジェムはアプリのrequire
ステートメントから直接参照されません。
アプリが機能し、テストに合格した場合(つまり、少なくとも必要なすべてのgemがインストールされている場合)、を作成しGemfile
、必要であることがわかっているgemを一覧表示してから、テスト(またはアプリ自体)を実行することで問題に取り組むことができます。 )を介してbundle exec
、にリストされている宝石のみGemfile
が表示されるようにします。Gemfile
次に、不足している宝石に関連する障害が発生し、すべてが機能するまでそれらをに追加できます。を介して機能するようbundle exec
になると、そこにあるすべての要件をキャプチャしたことがわかります。
RVMを使用している場合は、アプリのgemsetをアプリの.rvmrc
ルートにファイルとともに作成して、RVMの自動gemset切り替えとBundler統合を利用すると便利です。これにより、今後の宝石の状態の維持が容易になります。
いずれにせよ、アプリを動作状態で実行すると、使用している可能性gem list
のあるすべてのgemが表示されますが、gemsetにスコープされたり、ラップされたりすることなく、他の理由でインストールされたgemも表示されます。アプリの依存関係とは何の関係もありません。bundle exec