Ruby on rails 您如何预览a";Bundle Update";你会做什么?
有时我想运行bundle update,但只是想看看哪些gem需要更新。我不一定要处理与更新所有内容相关的问题,但我想做一个快速检查,看看最先进的技术是什么Ruby on rails 您如何预览a";Bundle Update";你会做什么?,ruby-on-rails,gem,bundle,bundler,Ruby On Rails,Gem,Bundle,Bundler,有时我想运行bundle update,但只是想看看哪些gem需要更新。我不一定要处理与更新所有内容相关的问题,但我想做一个快速检查,看看最先进的技术是什么 有没有办法简单地让Bundler列出需要与我当前运行的版本一起更新(理想情况下)的gem,以及最新和最好的版本是什么?没有办法直接使用Bundler完成这项工作,但只要您使用VCS,您就可以始终还原Gemfile.lock以还原通过更新所做的更改,或者对文件进行差异化处理,以查看所做的更改。看这个我试过这个: > gem instal
有没有办法简单地让Bundler列出需要与我当前运行的版本一起更新(理想情况下)的gem,以及最新和最好的版本是什么?没有办法直接使用Bundler完成这项工作,但只要您使用VCS,您就可以始终还原Gemfile.lock以还原通过更新所做的更改,或者对文件进行差异化处理,以查看所做的更改。看这个我试过这个:
> gem install bundle_outdated
> bundle-outdated
Finding outdated gems..
Newer versions found for:
rails (3.1.0 > 3.0.0)
haml (3.1.2 > 3.0.0)
rspec-rails (2.6.1 > 2.0.1)
Lock bundle to these versions by putting the following in your Gemfile:
gem 'rails', '3.1.0'
gem 'haml', '3.1.2'
gem 'rspec-rails', '2.6.1'
You may try to update non-specific dependencies via:
$ bundle update haml rspec-rails
Handwaving specifications:
haml: >= 3.0.0
rspec-rails: >= 2.0.1
另一种选择:
> gem install gem-outdated
> gem outdated
现在有一种直接使用bundler实现这一点的方法。您不需要安装任何额外的gems
bundle outdated
会返回这样的东西吗
Outdated gems included in the bundle:
* acts-as-taggable-on (2.4.1 > 2.3.3)
* addressable (2.3.4 > 2.3.3)
* arel (4.0.0 > 3.0.2)
* better_errors (0.8.0 > 0.7.2)
* builder (3.2.0 > 3.0.4)
* capybara (2.1.0 > 2.0.3)
* chunky_png (1.2.8 > 1.2.7)
* codemirror-rails (3.12 > 3.02)
* coffee-rails (4.0.0 > 3.2.2)
.....
由于谷歌搜索点击了这个页面,并且提供的答案有一些需要注意的地方,我将添加另一个答案 如果您想查看您的gems发布了哪些更新,请将“GEM文件中的版本依赖性要求”考虑在内,使用:
bundle outdated --strict
如果您不想考虑版本依赖性,只需使用其他答案中指定的bundle-outleted
其次,如果要更新特定的gem,请使用:
bundle update --source gemname
bundle update gemname
更新gem及其所有依赖项,这可能会让您陷入混乱(甚至rails也会通过使用bundle update haml
进行更新)。非常有用-bundle outlated看起来像我想要的,在执行此答案之前要非常小心。首先;捆绑过时的不考虑版本依赖性要求。这意味着,即使您的gem文件中有特定的gem版本,它也会将所有内容显示为新的。其次bundle update gemname命令更新gem的所有依赖项。这意味着,如果“gemname”依赖于rails,您可能会得到一个新的rails版本。(示例中给出了haml所做的)。请看下面我的答案。