1. ホーム
  2. ruby

[解決済み] bundlerはどこにgemsを保存するのですか?

2023-04-26 01:53:21

質問

私は gem install を使用した場合、gemは/home/username/.rvm/gems/の下に格納されることが分かっていますが、これはgemがインストールされたgemsetの下です。

しかし、Bundler を使用して Gemfile で gem を指定した場合、bundle install を実行すると、それらの gem はどこに格納されるのでしょうか。また、もし私がすでにそのgemを gem install を使用してインストールした場合、bundle install を実行すると、前にインストールした gem install ?

どのように解決するのですか?

それは依存します。通常の開発環境では、gem を "通常" でインストールする場所にインストールされます (実行することによって gem install foo を実行することで)、bundler は既にある gem を再インストールすることはありません。この場所は、rubygems 自体がどのように設定されているかに依存します。

bundle install を実行する際に --deployment オプションを付けて bundle install を実行すると、gems はアプリに固有の場所にインストールされます (これは別のオプションとして渡すことができますが、デフォルトでは vendor/bundle になります)。

また bundle package を実行して、アプリが使用するすべての .gem ファイルを vendor/cache . 実行中 bundle install を実行すると、 vendor/cache にある gems の方が他の場所にある gems よりも優先されます。