2012-02-15 140 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只能使用一个版本的宝石。