ruby on rails-$ Bundle安装和$ Bundle upd之间的区别

你能告诉我,两者之间有什么区别?

$Bundle update

$Bundle install
matDobek asked 2019-11-06T09:37:45Z
2个解决方案
78 votes

bundle installbundle都可以安装您在Gemfile中指定但在gem中丢失的gem。

但是bundle install还要做一件事来升级:

  1. 如果Gemfile中指定的gem没有版本,它将升级到最新版本。
  2. 如果Gemfile中指定的宝石具有受bundle install控制的版本,它将在最后一位数字(补丁版本)升级到最新版本。

    例如,如果您在Gemfile中有宝石

    bundle install

    bundle install将检查云中是否有更新的2.1.x版本。 假设您当前的版本是2.1.2,而云中的最新版本是2.1.5,它将安装2.1.5。 但是,如果bundle是最新的,它将什么也不做。

我认为更好的做法

  1. 始终将版本添加到2260068569294898176之类的重要宝石上。

  2. 在大多数情况下,请坚持使用bundle install(或bundle,默认为install)。 仅在确实有必要并且您已为结果做好充分准备的情况下,才执行bundle update

Billy Chan answered 2019-11-06T09:39:16Z
6 votes

Bundle Updates指定的gem(如果未指定,则为所有gem),而忽略了先前在Gemfile.lock中指定的gem。 通常,您应该使用bundle install在机器之间安装相同的gem和版本。

Denny Mueller answered 2019-11-06T09:39:44Z
translate from https://stackoverflow.com:/questions/16495626/difference-between-bundle-install-and-bundle-update