2

有没有人以前见过这个错误?我无法在源代码中找到对 SUPPORTED_TYPE 的任何引用...

8/gems/net-ssh-2.5.1/lib/net/ssh/known_hosts.rb:33:in 'map' 来自 /usr/lib/ruby/gems/1.8/gems/net-ssh-2.5.1/ lib/net/ssh/known_hosts.rb:33:in `search_in' from /usr/lib/ruby/gems/1.8/gems/net-ssh-2.5.1/lib/net/ssh/known_hosts.rb:27:在 /usr/lib/ruby/gems/1.8/gems/net-ssh-2.5.1/lib/net/ssh/transport/algorithms.rb:237 的“search_for”中:在“prepare_preferred_algorithms!”中 来自 /usr/lib/ruby/gems/1.8/gems/net-ssh-2.5.1/lib/net/ssh/transport/algorithms.rb:120:in 'initialize' from /usr/lib/ruby/gems/ 1.8/gems/net-ssh-2.5.1/lib/net/ssh/transport/session.rb:79:在 /usr/lib/ruby/gems/1.8/gems/net-ssh-2.5 的“新”中。 1/lib/net/ssh/transport/session.rb:79:在 /usr/lib/ruby/gems/1.8/gems/net-ssh-2.5.1/lib/net/ssh.rb 的“初始化”中: 186:在 /usr/lib/ruby/gems/1 的“新”中。
4

3 回答 3

4

更简单的解决方案是使用net-ssh 的这个分叉版本,它修复了这个问题(官方 net-ssh gem 的下一个版本也应该修复它),如此所述。

如果您在通过 capistrano(我今天有)部署时遇到这个问题,您可以通过 Gemfile 从 github安装这个 net-ssh 版本bundle exec cap deploy,然后使用.

放入 Gemfile gem 'net-ssh', :git => 'git://github.com/nessche/net-ssh.git'

于 2012-05-24T21:48:32.780 回答
2

这个问题似乎是在 5 月 24 日对 net-ssh gem 的 2.5.0 或 2.5.1 更新中引入的。您可以在此处找到常量 SUPPORTED_TYPE:

http://net-ssh.github.com/net-ssh/classes/Net/SSH/KnownHosts.html

我不知道所有细节,但到目前为止,已经有几个解决方案可以解决这个问题。一种是删除您的 known_hosts 文件(或您尝试从该文件连接的特定主机),并且您可能能够连接,直到该主机再次添加到 known_hosts - 如果它在,它将返回相同的错误在那里,出于某种原因。

我发现的第二个选项是恢复到 gem 的 2.4.0 版本。我已在以下位置提交了该问题的票证:

http://net-ssh.lighthouseapp.com/projects/36253-net-ssh/tickets/58-nameerror-uninitialized-constant-netsshknownhostssupported_type

希望能帮助到你!

编辑:克拉里夫对此的解决方案看起来更容易接受。谢谢,克拉里夫!

于 2012-05-24T20:21:54.657 回答
1

在遵循 github 上的问题并应用 clarif 建议之后,我想出了解决我的问题的方法。

http://tinyurl.com/cxr2xa3

于 2012-05-25T05:20:36.900 回答