bundler在哪里存储宝石?

ger*_*rky 59 ruby gem bundler rvm gemset

我知道在使用时gem install,gem将存储在/home/username/.rvm/gems/下,gem下安装gem.

但是如果我使用Bundler并在Gemfile中指定gem,那么当我运行bundle install时,那些gem会被存储在哪里?如果我已经安装了gem gem install,如果我运行bundle install,它会使用之前安装的gem gem install吗?

Jam*_*ery 60

如果您想知道特定宝石的存储位置,您可以运行bundle show <gem-name>.例如:

user@host$ bundle show rake
/var/bundle/ruby/2.1.0/gems/rake-10.4.2
Run Code Online (Sandbox Code Playgroud)


Fre*_*ung 50

这取决于.在通常的开发设置中,它们安装在"正常"(通过运行gem install foo)安装gem时的位置,而bundler将不会重新安装已经存在的gem.此位置取决于rubygems本身的配置方式.

如果您使用该--deployment选项运行bundle install,那么gem将安装在您的应用程序独有的位置(您可以将其作为单独的选项传递,但默认为vendor/bundle)

您还可以运行bundle package以存储您的应用使用的所有.gem文件vendor/cache.运行bundle install将更喜欢供应商/缓存中的宝石到其他位置的宝石.

  • 我不明白答案,那么bundle install的默认安装路径是什么?如果它用于开发. (3认同)

roo*_*roo 10

我用来bundle config path查看宝石的存放位置。