ruby 1.9 ri on Windows knows nothing about any classes

为君一笑 提交于 2019-12-28 05:40:22

问题


I'm using Windows XP SP2, and installed Ruby through Ruby 1.9 one click installer. Then when I try to using ri, I get the following response, can anyone help me with my problem?

C:\Documents and Settings\eyang>ruby --version
ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-mingw32]

C:\Documents and Settings\eyang>ri --version
ri 2.2.2

C:\Documents and Settings\eyang>ri String
Updating class cache with 0 classes...
Nothing known about String

C:\Documents and Settings\eyang>ri
Updating class cache with 0 classes...
No ri data found

If you've installed Ruby yourself, you need to generate documentation using:

  make install-doc

from the same place you ran `make` to build ruby.

If you installed Ruby from a packaging system, then you may need to
install an additional package, or ask the packager to enable ri generation.

C:\Documents and Settings\eyang>

By the way, when I try to use gem, I got the following error messages too, anyone can explain it?

C:\Documents and Settings\eyang>gem --version
1.3.5

C:\Documents and Settings\eyang>gem query --remote

*** REMOTE GEMS ***

ERROR:  While executing gem ... (Errno::ENOMEM)
    Not enough space - <STDOUT>

C:\Documents and Settings\eyang>

回答1:


RubyInstaller do not bundle RI documentation, as it increased the size of the distribution and the time to install the package.

Instead, we bundled CHM (Windows Help) files for both Core and StdLib API.

This was discussed in the RubyInstaller group and the decision was made on that base.

As for your other point, two things: you need to provide a gem name or part of it, since there are 12K gems in RubyForge.

Also, depending on your console configuration (Latin or something) the Not Enough space error will be related to the terminal itself, not RubyGems.




回答2:


Go to the same folder where your ruby is installed. Then do:

rdoc --all --ri



回答3:


windows rubyinstaller doesn't come with the ri for core by default, so install the rdoc-data gem, then it will have it.




回答4:


If you are using rvm try $ rvm docs generate-ri




回答5:


What might be helpful:

  1. When I ran ri.cmd -l command, it worked, though there were no known Classes/Modules

  2. When I ran ri.cmd --list-doc-dirs, I've got:

    C:/Ruby25-x64/share/ri/2.5.0/system
    C:/Ruby25-x64/share/ri/2.5.0/site
    C:/Users/username/.rdoc</ul>
    

    Nonetheless, there was no physical .rdoc folder (C:/Users/username/.rdoc)

  3. Running rdoc --all --ri as recommended @GregMoreno did the trick



来源:https://stackoverflow.com/questions/1587354/ruby-1-9-ri-on-windows-knows-nothing-about-any-classes

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!