2011-05-26 91 views
1

我正在使用rails設計寶石。我注意到一個大小寫敏感的bug在最新版本的設計中被修復,所以我正在考慮升級。Rails - 理解寶石

在我的寶石文件我有:

gem 'devise', '~> 1.1.3' 

當我運行捆綁我得到:

Using devise (1.1.9) 

爲什麼會有差別。我應該在我的gem文件中使用什麼設置升級到最新最好的?

感謝

回答

2

在寶石聲明中的~>說,捆紮機可安裝任何版本升級到下一個主要版本,所以在這種情況下,它可以安裝任何版本的設備,即=> 1.1.3和< 1.2.0。

包括~>是很好的做法,因爲這意味着如果gem正確使用版本控制,則安全更新是自動的;在生產環境中,儘管您可能想要放棄這個名字,但只需靜態設置您的gem版本以避免問題。

要更新到寶石,每次的最新版本,只需使用下面的沒有第二個版本的說法:

gem 'devise' 

http://gembundler.com/gemfile.html參見有關的Gemfile格式的詳細信息。

0

如果你知道你想要的版本號,試試這個(假設它是1.2.3):

gem 'devise', '1.2.3' 

或剛剛離開了版本號

若沒有已經發布了,你可以指向它的github庫。

0

只需使用:

gem 'devise' 

,您將得到最新的穩定寶石:)

+0

我得到這個錯誤捆紮機無法找到寶石 「設計」 兼容的版本: 在Gemfile中: devise_invitable(〜> 0.3.4)取決於 色器件(〜> 1.1.0) 色器件(1.3.4 ) – AnApprentice 2011-05-26 17:30:40

0

所不同的是,因爲你告訴給捆紮機使用1.1.3或者本次重大版本你係統中的寶石,如果你想使用一個特定的版本,只需在版本參數中加入'1.1.9'即可。

0

使用bundle update devise更新devse寶石和bundle update更新所有的寶石(這是不可取的)

http://jsbin.com/ihiqe4