rhc 设置 returns "warning: constant ::TimeoutError is deprecated"

rhc setup returns "warning: constant ::TimeoutError is deprecated"

环境

ruby 2.3.0p0 (2015-12-25) [x86_64-linux-gnu]

复制步骤

sudo apt-get install ruby-full
rhc setup

returns:

/var/lib/gems/2.3.0/gems/commander-4.2.1/lib/commander/user_interaction.rb:328: warning: constant ::TimeoutError is deprecated

上传defaultpublic密钥后,显示:

Checking for git ... found git version 2.7.4

Checking common problems ./var/lib/gems/2.3.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:67:in initialize': Object#timeout is deprecated, use Timeout.timeout instead. /var/lib/gems/2.3.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:84:in initialize': Object#timeout is deprecated, use Timeout.timeout instead. . done

当运行:

rhc --help

它returns:

/var/lib/gems/2.3.0/gems/commander-4.2.1/lib/commander/user_interaction.rb:328: warning: constant ::TimeoutError is deprecated

看起来 gem 在幕后使用了 Object#timeout,这已被弃用。建议现在使用 Timeout.timeout,如错误所述。

至于你应该做什么 - 这只是一个弃用 警告,不是错误,所以可能没有任何问题。

如果警告真的困扰您,您可以在 /var/lib/gems/2.3.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb 编辑 gem 源并将 timeout 调用替换为 Timeout.timeout(或分叉 gem 并进行相同的更改)。如果您渴望的话,作者可能会喜欢拉取请求。但我个人不会为此担心。