我正在使用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。
有什么想法在这里发生了什么?
答案 0 :(得分:0)
您使用Bundler,以便了解Gemfile.lock中您使用的gem版本。 Bundler只使用gem的一个版本。
答案 1 :(得分:0)
默认情况下,运行'bundle install'时使用的gem是最新的。您可以在Gemfile中指定版本(或版本约束)。要更新所使用的gem的版本,您必须运行bundle update <gemname>
,它将根据您的gemfile执行此操作。
关于您的问题:确保您的服务器/控制台命令以bundle exec
为前缀。您还要检查系统上哪些版本的thumbs_up是安装程序,并删除不再需要的版本。