如何运行红宝石宝石的特定版本
问题描述:
我在我的Gemfile之外运行了brakeman,所以我没有使用bundler。如何运行红宝石宝石的特定版本
如果我做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
那么,如何运行司闸员3.3.3版?
答
我不能重现这个问题,但我能想到的几个原因,这可能会发生:
- 捆扎机工件(也许在
.bundle/
)指向旧版本。尝试在不同的目录中运行,看看它是否仍然发生 - 一个错误的RubyGems(试行
gem update --system
) - 在安装过程中,它问,如果你想更换
brakeman
二进制并选择了“无” - 如果您使用一个Ruby版本管理器,也许有版本比另一个不同的路径(像系统宝石与一个由
rvm
管理) - 任何数量的
GEM_PATH
,bundler
,gem
,rvm
古怪,有时发生
无论如何,如果我是你,我会gem uninstall brakeman
,删除所有版本,并安装新鲜。如果您使用的是rvm
,请从当前的新宝石或rvm gemset empty
开始。
答
$ gem install brakeman -v 3.3.3
然后在您的Gemfile(假设你有一个)指向特定的版本,如:
"brakeman", "~> 3.3.3"
这是核选择,但它应该工作。我正在使用rvm。我会尝试。 – Obromios
工作感谢你。 – Obromios