生成 Ruby 2.5 文档。

3

在Ubuntu 18.04上安装了Ruby 2.5版本后,我尝试使用ri命令,结果如下:

$ ri String
Nothing known about String

针对类似问题的回答是:

1. 使用rvm命令生成文档。

$ rvm docs generate

我没有使用rvm进行安装,所以我想这个选项对我来说是不可用的。

2. 为已安装的gems生成文档

$ gem rdoc --all --ri --no-rdoc

这导致了以下错误信息的出现:
ERROR:  Unable to document did_you_mean-1.2.0, /usr/share/rubygems-integration/all/gems/did_you_mean-1.2.0 is missing, skipping
ERROR:  Unable to document minitest-5.10.3, /usr/share/rubygems-integration/all/gems/minitest-5.10.3 is missing, skipping
ERROR:  Unable to document net-telnet-0.1.1, /usr/share/rubygems-integration/all/gems/net-telnet-0.1.1 is missing, skipping
ERROR:  Unable to document power_assert-0.2.7, /usr/share/rubygems-integration/all/gems/power_assert-0.2.7 is missing, skipping
ERROR:  Unable to document rake-12.3.1, /usr/share/rubygems-integration/all/gems/rake-12.3.1 is missing, skipping
Parsing documentation for rdoc-4.3.0
Parsing documentation for rdoc-data-4.1.0
ERROR:  Unable to document test-unit-3.2.5, /usr/share/rubygems-integration/all/gems/test-unit-3.2.5 is missing, skipping

3. 使用 rdoc-data --install

$ gem install rdoc-data
$ rdoc-data --install

这导致了错误信息的返回:
NOTE: Gem.datadir is deprecated; use spec.datadir instead. It will be removed on or after 2016-10-01.
Gem.datadir called from /var/lib/gems/2.5.0/gems/rdoc-data-4.1.0/lib/rdoc/data.rb:50.
Your ruby version 2.5 is not supported, only 1.8, 1.9, 2.0, 2.1, 2.2, 2.3

也许安装的是过时的 rdoc-data gem?如果是这样,有没有什么方法来修复它? 4. 从源代码生成文档
$ tar xvfz ~/Downloads/ruby-2_5_4.tar.gz
$ cd ruby-2_5_4
$ rdoc --all --ri

这将会产生错误:

Traceback (most recent call last):
    1: from /usr/local/bin/rdoc:23:in `<main>'
/usr/local/bin/rdoc:23:in `load': cannot load such file -- /usr/lib/ruby/gems/2.5.0/gems/rdoc-6.0.1/exe/rdoc (LoadError)

实际上,“exe”目录包含文件rdoc2.5而不是纯粹的rdoc

那么,下一步该怎么办呢?

1个回答

1
作为经常情况,完整记录我已尝试过的内容可以展现出一条前进的道路。第四次尝试的错误信息让我想知道rdoc2.5是否在路径中可用,它确实可用。
以下方法适用于我:
$ rdoc2.5 --all --ri
Parsing sources...
100% [831/831]  vsnprintf.c                                                                           

Generating RI format into /home/christians/.rdoc...

  Files:        831

  Classes:     1324 ( 565 undocumented)
  Modules:      284 ( 121 undocumented)
  Constants:   1313 ( 526 undocumented)
  Attributes:  1066 ( 251 undocumented)
  Methods:    10078 (2161 undocumented)

  Total:      14065 (3624 undocumented)
   74.23% documented

  Elapsed: 26.8s

虽然我只能使用ri2.5命令查看文档。普通的ri命令返回一个不同的错误,表明我可能在这些实验性解决方案中破坏了某些东西:

$ ri String
Traceback (most recent call last):
    1: from /usr/local/bin/ri:23:in `<main>'
/usr/local/bin/ri:23:in `load': cannot load such file -- /usr/lib/ruby/gems/2.5.0/gems/rdoc-6.0.1/exe/ri (LoadError)

这让我想知道我的Ruby安装是否像应该的那样干净。dpkg命令报告以下Ruby软件包已安装:
$ dpkg -l | grep ruby
ii  libruby2.5:amd64                           2.5.1-1ubuntu1.2                             amd64        Libraries necessary to run Ruby 2.5
ii  rake                                       12.3.1-1                                     all          ruby make-like utility
ii  ruby                                       1:2.5.1                                      amd64        Interpreter of object-oriented scripting language Ruby (default version)
ii  ruby-did-you-mean                          1.2.0-2                                      all          smart error messages for Ruby > 2.3
ii  ruby-minitest                              5.10.3-1                                     all          Ruby test tools supporting TDD, BDD, mocking, and benchmarking
ii  ruby-net-telnet                            0.1.1-2                                      all          telnet client library
ii  ruby-power-assert                          0.3.0-1                                      all          library showing values of variables and method calls in an expression
ii  ruby-test-unit                             3.2.5-1                                      all          unit testing framework for Ruby
ii  ruby2.5                                    2.5.1-1ubuntu1.2                             amd64        Interpreter of object-oriented scripting language Ruby
ii  rubygems-integration                       1.11                                         all          integration of Debian Ruby packages with Rubygems

也许最好从头重新安装与 Ruby 相关的所有内容?

更新:我删除了所有与Ruby相关的内容,并手动删除了一些在/usr/local/bin中挂留的命令(ri和rdoc)。我使用apt install ruby进行重新安装,现在一切看起来都很正常。安装后,生成的文档可供使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接