Генерация документов для ruby ​​2.5 - PullRequest
1 голос
/ 10 июня 2019

Установив ruby ​​2.5 на Ubuntu 18.04, я попытался с помощью команды ri получить следующий результат:

$ ri String
Nothing known about String

В ответ на похожих вопросов , совет предлагается:

1.Сгенерируйте документацию с помощью команды rvm

$ rvm docs generate

Я не установил с помощью rvm, поэтому я считаю, что эта опция закрыта для меня.

2.Создать документацию для установленных драгоценных камней

$ 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?Если так, есть ли способ это исправить?

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 Ответ

0 голосов
/ 10 июня 2019

Как это часто бывает, полное документирование того, что я уже пробовал, показало путь вперед, и сообщение об ошибке попытки номер четыре заставило меня задуматься о том, был ли доступен и 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, и все кажется нормально.Документы создаются и доступны после установки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...