ChatGPT解决这个技术问题 Extra ChatGPT

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

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

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

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

但这不是一个好主意。我最近需要在路上编写代码,当我启动 gem server 时,我记得我的 $HOME/.gemrc 中有这些代码,这真的让我很丧......谷歌并不总是在那里。
取决于上下文。如果您可以绑定或在不需要 gem 文档的服务器上执行此操作,这是一个好主意。
使用 pry 可以使用 show-source 作为生成文档的替代方法。它将显示内联注释,这些注释通常与 ri/rdoc 的内容相同。

J
Jirapong

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

gem: --no-document

经过

echo 'gem: --no-document' >> ~/.gemrc

或者您可以将此行添加到全局 gemrc 配置文件中。

以下是如何找到它(在 Linux 中):

strace gem source 2>&1 | grep gemrc

the RubyGems CLI Reference 中记录了 --no-document 选项。


无论如何要使其成为系统范围的默认设置而不编辑 /etc/skel 和每个用户的主目录?
/etc/gemrc 对我不起作用,但 .gemrc 对我有用。我想知道它是否特定于 rvm,它不读取系统 gemrc?
是的,我正在使用 RVM,而 /etc/gemrc 也不适用于我。
@gdelfino 的回答是最不突兀的
已弃用 - 请参阅我的回答
h
hd1

RVM’s documentation

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

gem: --no-document

注意:原来的答案是:

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

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


Since RubyGems version 2.0.0preview2,您可以将 --no-document--document=rdoc 用于仅 rdoc。
我不同意 @mpapis 在 2013 年 6 月 20 日的编辑。他完全改变了这个答案,有很多人投票支持它,因为他们认为它比接受的答案更好。发布此答案的人明确写道,他们不想将这两个选项添加到每个 gem 命令中,因为它会破坏某些命令。在@mpapis 完全更改答案之前,答案中的代码是:install: --no-rdoc --no-ri\nupdate: --no-rdoc --no-ri @mpapis,您为什么更改了 RVM 文档并更改了此答案?
因为这是真的,没有理由保留两条单独的行,跟踪多项目兼容性很棘手 - 当我们发现某些东西关闭时,RVM 文档有时会更新 - 就像在这种情况下,rubygems 不会行为错误,可以使用 gem: 而不是两个单独的条目。
使用 ruby -e "require 'etc';puts Etc.sysconfdir" 确定 gemrc 配置文件的路径。
J
James Lim

请注意,根据新的 guides,已弃用 --no-ri--no-rdoc。推荐的方法是在 ~/.gemrc/etc/gemrc 中使用 --no-document

install: --no-document
update: --no-document

或者

gem: --no-document

3
3 revs

在 Linux(可能还有 Mac)上:

echo 'gem: --no-document' >> ~/.gemrc

这个单线曾经在这里的评论中,但不知何故消失了。


如果用户已有 ~/.gemrc,您应该使用 >>
这个 echo 'gem: --no-doc --no-ri' >> ~/.gemrc 和你写的有区别吗?还是两者有相同的效果?
@Lykos --no-doc --no-ri 已弃用(有关选项,请参阅 guides.rubygems.org/command-reference/#gem_install
D
Daniel X Moore

# /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

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


感谢这个示例,非常适合帮助我删除我在某些时候复制和粘贴的嵌入式 Ruby,然后在 Ruby 1.9.2 下安装 RubyGems 1.8.10 时导致心理错误。
请不要发布“Google 上的第一个结果”回复。谷歌上的第一个结果现在显示了你的回复,自我证明了为什么你不应该这样做。当然,谢谢你的回答。
实际上,“Google 上的第一个结果”显示:“Google 上的第一个结果”显示:“Google 上的第一个结果”显示:“”......错误:堆栈溢出。
我必须感谢史蒂夫的评论(上图)。对于为什么我不能安装最新的 RubyGems,我感到很困惑。原来我也有一个格式错误的 .gemrc 文件。我不断收到此错误:../.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/psych.rb:148:in `parse': could't parse YAML at line 2 column 10 (心理::语法错误)
如果你在谷歌中输入“谷歌”,你会破坏互联网
B
Brad Larson

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

c:\Documents and Settings\All Users\Application Data\gemrc 

而且这个文件是默认不创建的,你应该自己创建。


在 Windows 7 下它是 C:\ProgramData\gemrc
win7 位置适用于 Windows 200。另外请确保您已关闭“隐藏已知文件类型的扩展名”,它不会拾取 gemrc.txt .... facepalm
s
skywinder

适用于 Windows 7 用户的 oneliner:

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


V
Vincent Robert

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

Documentation about gem configuration file


C
Community

如上所述,将 gem: --no-document 放入您的 gem 文件中。但是,系统范围的 gemrc 不一定会进入 /etc/gemrc。如果您使用的是 RVM,或者您在 /usr/local/bin 下安装了 Ruby,则它需要放在不同的位置。您可以通过运行 irb 并键入...来找到此位置

require 'rubygems'
Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE

请参阅 here 上关于此的原始帖子。


单线:ruby -rrubygems -e'puts Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE'
A
Andreas

一步一步:

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

vi  ~/.gemrc

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

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

单击“esc”按钮。

输入:

:exit

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

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit ~/.gemrc

澄清一下,最后一个命令是特定于 OS X 的。它在文本编辑器中打开 ~/.gemrc 文件。
是主目录的表示。 (大写中的以下内容是环境变量) 检查.gemrc 目录的顺序: 1. 如果已定义,请使用 HOME。 2. 如果已定义,请使用 USERPROFILE。 3. 将 HOMEDRIVE 和 HOMEPATH 一起使用(如果已定义)。 4. 使用通过让 Ruby 展开“~”获得的路径。 5. 如果您使用的是 Windows 机器,请使用“C:/”。也就是说:docs.rubygems.org/read/chapter/12
您不需要 sudo 来编辑您自己用户的 ~/.gemrc
p
peter

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

gem sources --add http://rubygems.org

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

您可以编辑文本文件以删除您添加的源,也可以使用

gem sources --remove http://rubygems.org

R
Rajkaran Mishra

对于 Windows 用户,Ruby 不设置 .gemrc 文件。因此,您必须在主目录 (echo %USERPROFILE%) 中创建 .gemrc 文件并在其中放入以下行:

gem: --no-document

正如前面的答案中已经提到的,不要使用 --no-ri 和 --no-rdoc 导致它被弃用。自己看:

gem help install