我对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 =&gt; 2.0.2请告诉我还有什么可做的。我真的不在乎kensa使用哪个休息客户端版本,我只需要它来运行!
答案 0 :(得分:-1)
要删除旧版本的gem,您有两种选择:
# remove all versions of the gem
gem cleanup rest-client
在此之后,你可以进行捆绑安装&#39;并且只安装你想要的版本。
# choose which one you want to remove
gem uninstall rest-client --version 1.8.0
在此之后,您将只有2.0.2版本。
希望这能解决你的问题。