RDoc :: TopLevel的未定义方法`reset':安装新的Ruby gem时的类

时间:2016-08-17 04:32:18

标签: ruby rubygems rdoc

例如,

$ 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上安装了Ruby with RVM。

谢谢!

[更新] 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)

我不记得我何时更新它们,但问题已经消失了,我猜这是一个错误并在更新中修复。

感谢。

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:3)

我有一个类似的问题:

$ 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