执行ruby gem版本

问题描述 投票:1回答:1

我对ruby完全不熟悉,不知道关于rvm,gemset等的第一件事。只是强迫使用用ruby编写的CLI工具(kensa by heroku)并面临问题。

kensa工具似乎使用名为rest-client的gem。当我运行它时会抛出一个错误:

/Users/shaharsol/.rvm/gems/ruby-2.4.2/gems/rest-client-1.8.0/lib/restclient/request.rb:163:in `fetch': key not found: :ciphers (KeyError)

有些搜索表明,rest-client的v1.8太旧了,所以我安装了v2.0.2。现在当我做一个gem list我得到:

rest-client (2.0.2, 1.8.0)

当我再次运行kensa时,它仍旧使用旧版本。所以我去修改它kensa.gemspec文件(这是从Gemfile引用)并且我最好的理解告诉它使用更新的版本:

s.add_runtime_dependency(%q<rest-client>, "~> 2.0")

然而,当我再次运行kensa时,它仍然使用旧的rest-client 1.8.0!

我错过了什么?我究竟做错了什么?或者kensa使用新的rest-client 2.0.2运行还需要什么?

PS - 如果我的问题根本不涉及改变1.8.0 => 2.0.2,请告诉我还有什么可做的。我真的不关心kensa使用哪个休息客户端版本,我只需要它运行!

ruby heroku rest-client
1个回答
-1
投票

要删除旧版本的gem,您有两种选择:

# remove all versions of the gem
gem cleanup rest-client

在此之后,您可以执行“捆绑安装”并仅安装所需的版本。

# choose which one you want to remove
gem uninstall rest-client --version 1.8.0

在此之后,您将只有2.0.2版本。

希望这能解决你的问题。

© www.soinside.com 2019 - 2024. All rights reserved.