如果没有像RVM这样的工具提供gemset,所有gem安装都是全局的。因此,如果两个项目使用相同版本的Ruby,并且两者都具有相同的gem文件,我希望第一个运行bundle install
将安装宝石,然后运行bundle install
第二个将能够使用已下载的宝石来满足其要求。
然而,对于位于Github repos中的宝石而言,情况并非如此。例如,我有几个具有相同gem参考的项目,类似于:
gem 'some_gem', git: 'git@github.com/me/some_gem.git', ref: 'a293bkd9d23'
然而,虽然一个项目中的bundle install
显然必须下载此特定提交,但似乎下一个项目中的bundle install
会重复该过程。
Bundler似乎没有将这些基于Git的宝石与我的普通宝石一起存储在~/.gem
中。
它放在哪里,我可以在再次从repo中获取之前让它检查本地指定的提交吗?