rubygems 1.8.x 默认禁用 rdoc 和 ri 生成

Posted

技术标签:

【中文标题】rubygems 1.8.x 默认禁用 rdoc 和 ri 生成【英文标题】:Disable rdoc and ri generation by default for rubygems 1.8.x 【发布时间】:2011-09-07 08:38:35 【问题描述】:

对于这个问题,有很多answers 可以在旧版本的 ruby​​gems 下工作,但是对于 Rubygems 1.8.x,推荐的程序是什么?我有一个看起来像这样的/etc/gemrc 文件:

gem: --no-rdoc --no-ri

在任何gem install 期间似乎都忽略了这些选项。

更新:

在进行更多挖掘之后,问题似乎与rvm 相关,它不仅划分了各种版本的 ruby​​,还划分了它们相关的配置文件。要检查配置文件的位置,请使用irb

require 'rubygems'
Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE
# => "/opt/local/rvm/rubies/ruby-1.9.2-p180/etc/gemrc"

【问题讨论】:

不错的更新,但它确实为我返回“true”:-( 啊,“更新”部分对我有用!它应该包含在接受的答案中。 【参考方案1】:

您需要将以下内容放入您的~/.gemrc/etc/gemrc 文件中

install: --no-rdoc --no-ri

【讨论】:

等等,什么? /etc/.gemrc?即使使用那个非常不规则的名字仍然对我不起作用。 如果在 ~/.gemrc 中它确实有效,但我试图避免这种情况。 在the source 中,它似乎通常指的是/etc/gemrc,但rvm 会引起混淆。用注释更新了我的问题。 嗨,我更新了我的帖子以引用 /etc/gemrc - 第二次输入错误。在原帖中。要点是命令应该是'install:...'而不是'gem:...' 关于 RVM,你肯定会发现 /etc/gemrc 用处不大,而 ~/.gemrc 会更有用。 RVM 的真正目的是对您的 ruby​​ 安装和配置进行分区 - 正如您在更新中指出的那样,SYSTEM_WIDE_CONFIG_FILE 位于一个全新的目录中。【参考方案2】:

这似乎取决于 Ruby(以及扩展 gem)的安装位置,而不仅仅是 RVM。我从源代码安装了 Ruby。从源代码构建时的默认安装位置是/usr/local/bin,所以我在那里安装了 Ruby。当然,这也会将 gem 和 Ruby 附带的所有其他工具安装在同一目录中。我的 gemrc 在 /etc 下,但直到我将它移到 /usr/local/etc 后它才开始工作。

我后来在/usr/bin 下重新安装了Ruby,而不是/usr/local/bin 并得到了相同的结果。它现在在/usr/etc 下寻找gemrc,而不是/usr/local/etc。在搜索系统范围的 gemrc 文件时,gem 工具必须寻找与其安装位置相关的路径,例如 ../etc

【讨论】:

【参考方案3】:

我有相同的文件,但它在 ~/.gemrc 中,它适用于 RubyGems 1.8.5。如果这有什么不同,我正在使用 RVM/Ruby 1.9.2。

【讨论】:

以上是关于rubygems 1.8.x 默认禁用 rdoc 和 ri 生成的主要内容,如果未能解决你的问题,请参考以下文章

Redis集群部署(手动安装)

如何使 --no-ri --no-rdoc 成为 gem 安装的默认值? [复制]

ri 和 rdoc 有啥区别

升级 Rails 应用程序的简单方法是啥?

Rdoc:如何记录委托?

我是不是因为没有为 gems 安装 ri 和 rdoc 而错过了啥?