我知道当使用gem install
时,gem将存储在/home/username/下.rvm/gems/,安装gemest-gem的平台.
但是如果我使用Bundler并在gem文件中指定gem,当我运行bundle安装时,这些gem将存储在哪里?如果我已经使用gem install
安装了gem,如果我运行bundle安装,它会使用之前使用gem install
安装的gem吗?
我知道当使用gem install
时,gem将存储在/home/username/下.rvm/gems/,安装gemest-gem的平台.
但是如果我使用Bundler并在gem文件中指定gem,当我运行bundle安装时,这些gem将存储在哪里?如果我已经使用gem install
安装了gem,如果我运行bundle安装,它会使用之前使用gem install
安装的gem吗?
视情况而定.在通常的开发设置中,它们安装在"正常"安装gem时的位置(通过运行gem install foo
),bundler不会重新安装已经存在的gem.这个位置取决于rubygems本身的配置方式.
如果您使用--deployment
选项运行bundle install,那么gems将安装在应用程序特有的位置(您可以将其作为单独的选项传递,但默认为vendor/bundle)
您还可以运行bundle package
来存储所有数据.应用程序在vendor/cache
中使用的gem文件.运行bundle install
将更喜欢供应商/缓存中的gems,而不是其他位置的gems.