禁用rdoc和ri生成对于rubygems 1.8.x而言默认情况下。

14

有很多答案可以在旧版本的rubygems下使用,但是对于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" :-( - lzap
啊,"更新"部分对我有用!它应该包含在被接受的答案中。 - interestinglythere
3个回答

12

你需要在~/.gemrc/etc/gemrc文件中添加以下内容。

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

等等,什么?/etc/.gemrc? 即使使用这个非常不规则的名称,它对我仍然无效。 - tadman
如果在~/.gemrc中,它确实可以工作,但我试图避免这样做。 - tadman
源代码中,它似乎通常是指/etc/gemrc,但是rvm会引起混淆。我已经更新了我的问题并添加了注释。 - tadman
嗨,我更新了我的帖子,以引用 /etc/gemrc - 在原始帖子中误打了第二个“。” 主要观点是命令应该是 “install: ...” 而不是 “gem: ...” - Pan Thomakos
1
关于RVM,你会发现/etc/gemrc几乎没什么用处,而~/.gemrc则更加有用。RVM的真正目的是分隔你的Ruby安装和配置 - 正如你在更新中指出的那样,SYSTEM_WIDE_CONFIG_FILE位于一个全新的目录中。 - Pan Thomakos

1
似乎这取决于Ruby(以及gem扩展)的安装位置,而不仅仅是RVM。 我从源代码安装了Ruby, 从源代码构建时,默认安装位置是/usr/local/bin,所以我在那里安装了Ruby。当然,这也将gem和所有与Ruby相关的其他工具一起安装在同一个目录中。 我的gemrc文件位于/etc下,但直到我将其移动到/usr/local/etc后才开始工作。
后来我重新安装了Ruby,将其安装在/usr/bin而不是/usr/local/bin,并获得了相同的结果。现在它正在寻找/usr/local/etc而不是/usr/etc下的gemrc。 gem工具必须正在查找相对于安装位置的路径(例如 ../etc)以搜索系统范围的gemrc文件。

0

我有相同的文件,但它在~/.gemrc中,并且在RubyGems 1.8.5上对我有效。如果有任何区别,我正在使用RVM/Ruby 1.9.2。


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