如何使--no-ri --no-rdoc成为gem install的默认设置?

Ric*_*ras 1024 ruby rubygems

我不使用我在我的机器或我处理的服务器中安装的gems的RI或RDoc输出(我使用其他文档方法).

我安装的每个gem默认安装RI和RDoc文档,因为我忘了设置--no-ri --no-rdoc.

有没有办法让这两个标志成为默认值?

Jir*_*ong 1190

您只需~/.gemrc将以下行添加到本地文件(它位于您的文件夹中)

gem: --no-document
Run Code Online (Sandbox Code Playgroud)

或者您可以将此行添加到全局gemrc配置文件中.以下是如何找到它(在Linux中)

strace gem source 2>&1 | grep gemrc
Run Code Online (Sandbox Code Playgroud)

  • 在这里你去/ etc/gemrc (41认同)
  • 虽然这有效,但http://stackoverflow.com/a/7662245/550672是正确的 (34认同)
  • @ gdelfino的回答是最不突兀的 (5认同)
  • 不赞成 - 请看我的答案 (4认同)
  • / etc/gemrc对我不起作用,但是.gemrc做了.我想知道它是否特定rvm它不读取系统gemrc? (3认同)
  • 无论如何,如果没有编辑/ etc/skel和每个用户的主目录,这是一个系统范围的默认值? (2认同)

gde*_*ino 489

RVM的文档:

只需将此行添加到您~/.gemrc/etc/gemrc:

gem: --no-rdoc --no-ri 
Run Code Online (Sandbox Code Playgroud)

注意:原来的答案是:

install: --no-rdoc --no-ri 
update: --no-rdoc --no-ri 
Run Code Online (Sandbox Code Playgroud)

这不再有效; RVM文档已经更新,因此当前只包含该gem指令的答案是正确的.

  • [自RubyGems版本2.0.0preview2](https://github.com/rubygems/rubygems/blob/master/History.txt),您可以使用`--no-document`或`--document = rdoc`代替只是rdoc. (12认同)
  • 我不同意2013年6月20日@ mpapis的编辑.他完全改变了这个答案,有很多人投票支持它,因为他们认为这比接受的答案更好.发布此答案的人明确写道,他们不希望将这两个选项添加到每个gem命令,因为它会破坏一些命令.在@mpapis完全改变答案之前,答案中的代码是:`install: - no-rdoc --no-ri \nupdate: - no-rdoc --no-ri` @mpapis,为什么你改变了RVM文档也改变了这个答案? (3认同)
  • 使用`ruby -e"require'etc';使用Etc.sysconfdir"`来确定你的`gemrc`配置文件的路径. (3认同)
  • 这个不推荐使用,请参阅http://guides.rubygems.org/command-reference/#gem-install (2认同)

Jam*_*Lim 181

请注意,--no-ri--no-rdoc根据新的已过时指南.推荐的方法是使用--no-document~/.gemrc/etc/gemrc.

install: --no-document
update: --no-document
Run Code Online (Sandbox Code Playgroud)

要么

gem: --no-document
Run Code Online (Sandbox Code Playgroud)


Sla*_*a V 81

在Linux(可能还有Mac)上:

echo 'gem: --no-document' >> ~/.gemrc
Run Code Online (Sandbox Code Playgroud)

这个单线曾经在这里发表评论,但不知何故消失了.

  • 如果用户已经有一个`〜/ .gemrc`,你应该使用`>>`. (11认同)
  • @Lykos`--no-doc --no-ri`已过时(有关选项,请参见http://guides.rubygems.org/command-reference/#gem_install) (2认同)

Dav*_*vid 44

#/home/{user}/.gemrc

---
:update_sources: true
:sources:
- http://gems.rubyforge.org/
- http://gems.github.com
:benchmark: false
:bulk_threshold: 1000
:backtrace: false
:verbose: true
gem: --no-ri --no-rdoc
Run Code Online (Sandbox Code Playgroud)

http://webonrails.com/2008/12/03/skiping-installation-of-ri-and-rdoc-documentation-while-installing-gems/

  • 实际上,"谷歌的第一个结果"显示:""谷歌的第一个结果"显示:""谷歌的第一个结果"显示:""......错误:堆栈溢出. (25认同)
  • 请不要发布"Google上的第一个结果"回复.Google上的第一个结果现在会显示您的回复,并证明您不应该这样做的原因.当然,谢谢你的回答. (17认同)

Via*_*huk 33

在Windows XP上,.gemrc文件的路径是

c:\Documents and Settings\All Users\Application Data\gemrc 
Run Code Online (Sandbox Code Playgroud)

并且默认情况下不会创建此文件,您应该自己创建它.

  • 在Windows 7下,它是C:\ ProgramData\gemrc (20认同)

Gab*_*abe 15

适用于Windows 7用户的oneliner:

(echo install: --no-document && echo update: --no-document) >> c:\ProgramData\gemrc


Vin*_*ert 11

您可以使用.gemrc配置文件指定默认选项.

有关gem配置文件的文档


And*_*eas 6

一步一步:

要从终端创建/编辑.gemrc文件:

vi  ~/.gemrc
Run Code Online (Sandbox Code Playgroud)

您将打开一个名为vi的编辑器.粘贴:

gem: --no-ri --no-rdoc
Run Code Online (Sandbox Code Playgroud)

点击"esc"按钮.

输入:

:exit
Run Code Online (Sandbox Code Playgroud)

您可以使用此命令检查一切是否正确:

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit ~/.gemrc
Run Code Online (Sandbox Code Playgroud)

  • 为了澄清,最后一个命令是OS X特定的.它在texteditor中打开`〜/ .gemrc`文件. (2认同)

Ada*_*dam 6

如上所述,放入gem: --no-document您的gem文件.但是,系统范围的gemrc并不总是必须进入/etc/gemrc.如果您使用的是RVM,或者您安装了Ruby /usr/local/bin,则需要将其放在不同的位置.你可以通过运行irb和输入来找到这个位置......

require 'rubygems'
Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE
Run Code Online (Sandbox Code Playgroud)

这里查看关于此的原始帖子.

  • Oneliner:`ruby -rrubygems -e'puts Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE'` (2认同)

pet*_*ter 5

在 Windows7 上,.gemrc 文件不存在,您可以让 Ruby 创建一个这样的文件(在资源管理器中这样做并不容易)。

gem sources --add http://rubygems.org
Run Code Online (Sandbox Code Playgroud)

您必须确认(这是不安全的)。现在该文件已在您的 userprofile 文件夹 (c:\users\) 中创建

您可以编辑文本文件以删除您添加的源,或者您可以删除它

gem sources --remove http://rubygems.org
Run Code Online (Sandbox Code Playgroud)