![](/img/trans.png)
[英]Heroku bundler undefined method "present?", fails to install gems via bundler
[英]Bundler downloads gems present on the system?
我想知道为什么捆绑程序总是下载我的宝石集中已经存在的宝石? 我的意思是,每次运行rails new
和bundle install
命令后,bundler都会下载系统上存在的相同的gems。现在,我知道--local
选项可以防止这种行为,但我认为如果可以的话会很好首先做一个简单的检查,这到底是什么意思。
编辑:对不起,似乎捆绑器实际上是在使用系统中的gems,我认为否则是因为他花了20秒钟才能完成操作,但这是由于我的互联网连接速度非常慢,并且可能花费了很多时间来解决依赖关系。
除非以下情况之一成立,否则Bundler不会重新获取宝石:
如果这对您来说是个问题,您可以使用--local
来强制Bundler永远不要寻找其他任何东西,但是您也可以为所有gem指定版本。 并确保正确的版本在Gemfile.lock中 。
最后,Bundler只按照您的指示去做。 当然,您也不能使用Bundler。
bundle install
的默认选项是--system
选项,它将在系统范围内安装,因此也将使用现有的gem。
如果使用的是rvm之类的内容,则不会看到此行为。 另外,请注意,捆绑程序会记住为某些参数(例如path
提供的先前参数。 如果以前在应用程序中使用过它,它将在以后的调用中被记住。
--local
是使用本地缓存- http://bundler.io/v1.5/man/bundle-install.1.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.