2012-04-09 120 views
12

爲了避免碰撞任何東西我指定每個寶石的版本號在我Gemfile顯示過時的寶石?

gem 'sass-rails', '~> 3.1.5' 
gem 'coffee-rails', '~> 3.1.1' 
gem 'uglifier', '~> 1.0.3' 
gem 'haml-rails', "~> 0.3.4" 
gem 'simple_form', '~> 1.5.2' 

但我想,至少,知道有我還沒有安裝一些較新的版本。例如,simple_form 2.0.0已經發布。

我可以檢查RubyGems上的每個gem,但必須有一個自動工具來做這件雜事,對嗎?

回答

20

隨着bundler你可以做bundle outdatedsee this page.

要更新捆綁到最新版本的最新版本(1.1),你可以運行gem update bundler

[email protected]:~/development/rails/livestax$ bundle outdated 
Fetching gem metadata from http://rubygems.org/....... 
Fetching gem metadata from http://rubygems.org/.. 

Outdated gems included in the bundle: 
    * multi_json (1.2.0 > 1.0.3) 
    * activesupport (3.2.3 > 3.1.0) 
    * activemodel (3.2.3 > 3.1.0) 
    * rack (1.4.1 > 1.3.5) 
    * rack-cache (1.2 > 1.0.3) 
    * sprockets (2.4.0 > 2.0.3) 
    * actionpack (3.2.3 > 3.1.0) 
    * mime-types (1.18 > 1.17.2) 

也有Gemnasium但我有從未使用過它。

1

同意@Gazler,您可以使用過時套餐查看可用的最新寶石。您也可以使用像SourceNinja(www.sourceninja.com)這樣的服務,當新的寶石可用時會向您發送電子郵件通知。

披露:我在SourceNinja工作。

1

bundle outdated將完成這項工作。但這不是自動的。如果你想自動化過程,你應該使用VersionEyeVersionEye可以監視GitHub或Bitbucket上的Gemfile,並通過電子郵件通知您項目中的過期依賴項。

順便說一句。我是創建VersionEye的傢伙。