Gemfileは、アプリケーションのすべての依存関係を記録し、管理します。 Gemfileに宝石をリストすると、bundlerはバージョンの競合を分類し、正しいバージョンの宝石がアプリケーションで使用されていることを確認します。
新しい環境でアプリケーションを設定すると(同僚がバージョン管理から変更をプルする場合や本番Webサーバーにデプロイする場合など)、Bundlerはgemファイルを使用して環境が設定されていることを確認できますあなたが開発したのとまったく同じです。
したがって、アプリケーションが依存するもの(アプリケーションから呼び出したコードなど)は、Gemfileに存在する必要があります。これには、テストに使用するライブラリが含まれます(実稼働環境から除外できます)。
アプリケーションの依存関係ではない宝石は、Gemfileに入れる必要はありません。アプリケーションの依存性よりも開発ツールのほうが多い例はguard
です。 gem
コマンドを使用してインストールできます。
しかし、通常、インストールしたいと思うものは、おそらくGemfileにある必要があります。
ただし、gem
コマンドでインストールするかどうかは関係ありません。後でそれをあなたのGemfileに置くことができ、Bundlerは何をすべきかを考え出します。