如何运行特定版本的ruby gem

时间:2016-08-12 06:49:44

标签: ruby-on-rails rubygems brakeman

我在Gemfile之外运行刹车手,所以我没有使用捆绑器。

如果我gem list,我可以看到我有以下制动手

brakeman (3.3.3, 3.3.2, 3.1.4, 3.1.2)

但如果我brakeman --version,我会

brakeman 3.1.2

所以我没有使用最新版本。如果我gem update brakeman

gem update brakeman, '3.3.3,

我得到了

Updating installed gems
Nothing to update

那么如何运行brakeman版本3.3.3?

3 个答案:

答案 0 :(得分:14)

如果您安装了多个gem版本并且想要从命令行调用特定版本,则可以使用:

brakeman _3.3.3_ [args go here]

这不是制动员特有的,你也可以为大多数其他宝石做这件事。

答案 1 :(得分:3)

我无法重现这个问题,但我可以想到为什么会出现这种情况的几个原因:

  • 指向旧版本的Bundler工件(可能在gem update --system中)。尝试在不同的目录中运行,看看它是否仍然存在
  • RubyGems中的错误(尝试brakeman
  • 在安装过程中,它询问您是否要替换rvm二进制文件并选择“否”
  • 如果您使用的是Ruby版本管理器,则可能有一个版本与另一个版本的路径不同(如系统宝石与GEM_PATH管理的宝石)
  • 有时会发生任意数量的bundlergemrvmgem uninstall brakeman奇怪

无论如何,如果我是你,我rvm,删除所有版本,并安装新的。如果您使用的是rvm gemset empty,请使用新的宝石集或/verysilent当前的宝石集。

答案 2 :(得分:1)

我遇到了类似的问题:我卸载了某个gem版本,但该版本仍然显示。

TL; DR:rbenv rehash成功了。 (显然,仅对rbenv用户有效)

相关问题