$ Bundle安装和$ Bundle更新之间的区别

你能告诉我,有什么区别:

$Bundle update 

 $Bundle install 

bundle updatebundle install都可以安装您在Gemfile中指定的gem,但在gem中缺less。

bundle update一件事要升级:

  1. 如果Gemfile中指定的gem没有版本,则会升级到最新版本。
  2. 如果Gemfile中指定的gem版本受到~>控制,则会在最后一个数字 (即修补版本)上升级到最新版本。

    例如,如果你在Gemfile中有一个gem

     'foo_gem', '~> 2.1.0' 

    bundle update将检查在云中是否有更新版本的2.1.x。 说你现在的版本是2.1.2,最新的是2.1.5,它会安装2.1.5。 但是如果2.2.6是最新的,它什么都不会做。

我认为更好的做法

  1. 总是添加版本像rails关键gem。

  2. 在大多数情况下,坚持bundle install (或默认install bundle )。 只有在真正需要的情况下才能进行bundle update ,而且您已经为结果做好了充分的准备。

Bundle Update是指定的gem(如果没有指定所有gem,则忽略之前安装的Gemfile.lock中指定的gem)。 一般来说,你应该使用bundle install来在机器上安装相同的gem和版本。