需要宝石时安装了哪个版本的宝石

时间:2012-02-15 11:20:50

标签: ruby-on-rails ruby rubygems

我正在使用thumbs_up gem,在github上有一个master分支(0.4.6)和一个engine分支(0.3.2)。当我需要Gemfile中的宝石

gem 'thumbs_up'

我看到安装了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。

有什么想法在这里发生了什么?

2 个答案:

答案 0 :(得分:0)

您使用Bundler,以便了解Gemfile.lock中您使用的gem版本。 Bundler只使用gem的一个版本。

答案 1 :(得分:0)

默认情况下,运行'bundle install'时使用的gem是最新的。您可以在Gemfile中指定版本(或版本约束)。要更新所使用的gem的版本,您必须运行bundle update <gemname>,它将根据您的gemfile执行此操作。

关于您的问题:确保您的服务器/控制台命令以bundle exec为前缀。您还要检查系统上哪些版本的thumbs_up是安装程序,并删除不再需要的版本。