例如,
$ 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)
我不记得我何时更新它们,但问题已经消失了,我猜这是一个错误并在更新中修复。
感谢。
答案 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