2012-02-15 138 views
1

我使用的是thumbs_up寶石,githubmaster分支(0.4.6)和engine分支(0.3.2)。當我需要與當需要寶石時安裝哪個版本的寶石

gem 'thumbs_up' 

在我Gemfile寶石我看到的版本0.4.6安裝。我通過做bundle exec gem which thumbs_up來驗證這是在我的開發環境中運行的正確版本,當我查看VERSION文件時,我看到它是0.4.6。

所以,當我看着代碼,我期待找到一個unvote_for方法,但它沒有。相反,它有一個叫做clear_votes。現在我很困惑,因爲clear_votes應該是在0.3.2版本中,但據我所知,我在版本0.4.6。

任何想法這裏發生了什麼?

回答

0

默認情況下,使用的gem是運行「捆綁安裝」時可用的最新版本。您可以在Gemfile中指定版本(或版本約束)。要更新使用的gem版本,您必須運行bundle update <gemname>,並且它會根據您的gemfile執行此操作。

關於您的問題:確保您的服務器/控制檯命令的前綴爲bundle exec。您還要檢查系統中哪些版本的thumbs_up是安裝程序,並刪除不再需要的版本。

0

您使用Bundler,以便您可以知道您的gem在Gemfile.lock中使用的是哪個版本。 Bundler只能使用一個版本的寶石。