15

I am running brakeman outside of my Gemfile, so am not using bundler.

If I do gem list, I can see I have the following for brakeman

brakeman (3.3.3, 3.3.2, 3.1.4, 3.1.2)

But if I do brakeman --version, I get

brakeman 3.1.2

so I am not using the latest version. If I do gem update brakeman or

gem update brakeman, '3.3.3,

I get

Updating installed gems
Nothing to update

So how do I run brakeman version 3.3.3?

4

3 回答 3

28

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

brakeman _3.3.3_ [args go here]

这不是特定于刹车手的,您也可以对大多数其他宝石执行此操作。

于 2016-08-12T07:18:52.097 回答
4

我无法重现此问题,但我可以想到可能发生这种情况的几个原因:

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

无论如何,如果我是你,我会gem uninstall brakeman删除所有版本,然后重新安装。如果您正在使用rvm,请从新的 gemset 或rvm gemset empty当前的 gemset 开始。

于 2016-08-12T14:59:56.130 回答
1

我有一个类似的问题:我卸载了某个 gem 版本,但该版本仍然出现。

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

于 2018-07-17T13:28:39.503 回答