【问题标题】:ruby 1.9 ri on Windows knows nothing about any classesWindows 上的 ruby​​ 1.9 ri 对任何类一无所知
【发布时间】:2009-10-19 07:24:14
【问题描述】:

我使用的是 Windows XP SP2,并通过 Ruby 1.9 一键式安装程序安装了 Ruby。然后当我尝试使用 ri 时,我得到以下响应,有人可以帮我解决我的问题吗?

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>

顺便说一下,当我尝试使用gem时,我也收到以下错误消息,谁能解释一下?

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>

【问题讨论】:

    标签: ruby installation


    【解决方案1】:

    转到安装 ruby​​ 的同一文件夹。然后做:

    rdoc --all --ri
    

    【讨论】:

    • 我运行了它,它让 ri 为我工作! :) 但我不知道它是下载了一些东西还是只是重新编译了一些东西...... :P [ruby 1.9.2p290, ri 2.5.8, rdoc 2.5.8]
    • 它会在 ~\.rdoc 中重新生成安装根目录下所有 rb 文件的所有 ri 信息(包括 gem)
    • 我最终使用了rdoc --all --ri-site,所以ri 文件将在&lt;ruby&gt;/share/ri 目录下创建,而不是在主目录下
    • ...但是,它不会为 core + stdlib 生成 ri 数据。为此,您必须使用下面@rogerdpack 提到的 rdoc-data gem
    【解决方案2】:

    RubyInstaller 不捆绑 RI 文档,因为它增加了分发的大小和安装包的时间。

    相反,我们为 Core 和 StdLib API 捆绑了 CHM(Windows 帮助)文件。

    RubyInstaller 小组对此进行了讨论,并在此基础上做出了决定。

    至于您的另一点,有两件事:您需要提供一个 gem 名称或其中的一部分,因为 RubyForge 中有 12K 个 gem。

    此外,根据您的控制台配置(拉丁语或其他内容),空间不足错误将与终端本身有关,而不是 RubyGems。

    【讨论】:

      【解决方案3】:

      windows ruby​​installer 默认不附带 ri for core,所以安装 rdoc-data gem 就会有。

      【讨论】:

      • 感谢您的帮助。需要说明的是,上面的rdoc --all --ri并没有为core+stdlib安装ri数据!
      • asdf 不为核心安装 ri。并且 rdoc-data gem 不支持 Ruby 2.4。有没有其他方法可以获得“ri for core”?
      • @kangkyu FWIW 这些天来它们以纯 HTML 形式出现:groups.google.com/forum/#!topic/rubyinstaller/QMRd0y-jiD8
      【解决方案4】:

      如果您使用的是rvm,请尝试$ rvm docs generate-ri

      【讨论】:

        【解决方案5】:

        什么可能有帮助:

        1. 当我运行ri.cmd -l 命令时,它工作了,虽然没有已知的类/模块

        2. 当我运行ri.cmd --list-doc-dirs 时,我得到了:

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

          不过,没有物理的.rdoc 文件夹 (C:/Users/username/.rdoc)

        3. 按照建议运行 rdoc --all --ri @GregMoreno 成功了

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-02-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多