【问题标题】:undefined method `reset' for RDoc::TopLevel:Class when installing a new Ruby gem安装新的 Ruby gem 时 RDoc::TopLevel:Class 的未定义方法“reset”
【发布时间】:2016-12-23 14:40:29
【问题描述】:

例如,

$ gem install netaddr
Fetching: netaddr-1.5.1.gem (100%)
Successfully installed netaddr-1.5.1
ERROR:  While executing gem ... (NoMethodError)
    undefined method `reset' for RDoc::TopLevel:Class

当我安装任何新的 gem 时,NoMethodError 异常会不断出现。我在谷歌上搜索并搜索了 RDoc 和 RubyGems GitHub 存储库中的问题,但没有运气。

我的 Ruby 版本是

$ ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]

RubyGems 版本是

$ gem -v
2.5.1

安装的 RDoc 版本是

$ gem search rdoc -l

*** LOCAL GEMS ***

rdoc (4.2.2, 4.2.1)

我在 Mac OS X El Capitan 上使用 RVM 安装了 Ruby。

谢谢!

[更新] 2018/08/03

我的 Macbook 好久没用了,到现在才忘记这个问题。前天我收到了回复通知,今天我用同一台Macbook检查了我的情况。我发现我不再有这个问题,并且 Ruby 和 Gems 更新如下:

$ gem install netaddr
Fetching: netaddr-2.0.3.gem (100%)
Successfully installed netaddr-2.0.3
Parsing documentation for netaddr-2.0.3
Installing ri documentation for netaddr-2.0.3
Done installing documentation for netaddr after 1 seconds
1 gem installed

$ ruby -v
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin15]

$ gem -v
2.6.8

$ gem search rdoc -l

*** LOCAL GEMS ***

rdoc (default: 5.0.0)

我不记得我是什么时候更新的,但是问题已经解决了,我猜这是一个错误并在更新中修复了。

谢谢。

【问题讨论】:

  • 我的环境和你一模一样,除了ruby版本(我的是ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]),安装gem没问题。
  • 我遇到了与ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux] 和gem 2.7.7 的OP 相同的问题,对我来说,它发生在安装rdoc 本身时:rdoc-6.0.4
  • 有人发现了吗?

标签: ruby rubygems rdoc


【解决方案1】:

我也有类似的问题:

$ gem install rdoc
Fetching: rdoc-6.0.4.gem (100%)
WARNING:  You don't have /home/myusername/.gem/ruby/2.5.0/bin in your PATH,
      gem executables will not run.
Successfully installed rdoc-6.0.4
ERROR:  While executing gem ... (NoMethodError)
    undefined method `reset' for RDoc::TopLevel:Class

安装compass 时相同。将/home/myusername/.gem/ruby/2.5.0/bin 添加到$PATH 后,这对我有用:

$ gem install rdoc
Successfully installed rdoc-6.0.4
Parsing documentation for rdoc-6.0.4
Installing ri documentation for rdoc-6.0.4
Done installing documentation for rdoc after 3 seconds
1 gem installed

【讨论】:

    【解决方案2】:

    在安装 rdoc 时,它会尝试使用 rdoc 生成自己的文档。二进制文件已安装(可能在 /usr/bin 中),但在 gem install 时找不到它 - 如果这是第一次。 gem install rdoc --no-document

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-07
      • 1970-01-01
      • 2014-06-14
      相关资源
      最近更新 更多