【发布时间】:2010-12-21 09:05:15
【问题描述】:
我知道可以在没有文档的情况下安装 gem,但不幸的是,我在使用 ruby 的前三个月没有安装。在那段时间里,我设法安装了大量的 gem,但自从我开始使用 ruby 以来,我没有一次在我的计算机上使用过文档。我总是在 Internet 上查找文档。
从我的计算机上安全删除文档的最佳方法是什么?另外,有没有办法将 ruby 配置为默认不安装文档?
【问题讨论】:
我知道可以在没有文档的情况下安装 gem,但不幸的是,我在使用 ruby 的前三个月没有安装。在那段时间里,我设法安装了大量的 gem,但自从我开始使用 ruby 以来,我没有一次在我的计算机上使用过文档。我总是在 Internet 上查找文档。
从我的计算机上安全删除文档的最佳方法是什么?另外,有没有办法将 ruby 配置为默认不安装文档?
【问题讨论】:
我无法回答您问题的第一部分(我自己也有同样的问题),但我设法默认不安装文档。
您可以在gem config file 中指定一些默认命令行选项,您可以指定不生成文档(类似于 --no-rdoc 和 --no-ri)。
山姆
【讨论】:
Gem 文档安装在 [RUBY]/lib/ruby/gems/doc 中,其中 [RUBY] 是您安装 Ruby 的目录(我的机器上是 C:/ruby)。
我不明白您为什么不应该只删除代表不需要文档的 gem 的文件夹:您可以随时重新生成它。
【讨论】:
运行这个命令:
rm -r "$(gem env gemdir)"/doc/*
如果您使用 cygwin,则在 Windows 上
【讨论】:
我知道有一个 .gemrc 文件可以使用。
install: --no-rdoc --no-ri
update: --no-rdoc --no-ri
将两行放入其中。 我相信您将 .gemrc 文件放在 $Home 目录中。
【讨论】:
将其中任何一个复制并粘贴到与 Bourne 兼容的 shell 中:
(exec 1>&2; DIR="$(gem env gemdir)"; \
DOCDIR="$DIR"/doc; \
if [ -d "$DOCDIR" ]; then \
echo "Contents of '$DOCDIR': "; ls "$DOCDIR"/; echo ''; \
read -p "Do you really want to remove contents of RubyGems doc dir '$DOCDIR' ? [Yn] " ANS; \
if [ "$ANS" = y ] || [ "$ANS" = Y ]; then \
rm -rf "$DOCDIR"/*; \
fi; \
fi)
(exec 1>&2; for DIR in $(gem env path | tr ':' '\n'); do \
DOCDIR="$DIR"/doc; \
if [ -d "$DOCDIR" ]; then \
echo "Contents of '$DOCDIR': "; ls "$DOCDIR"/; echo ''; \
echo '!! Possibly removes system-provided gem docs, review carefully before continuing ("n" if unsure or Ctrl-C to abort completely) !!'; \
read -p "Do you really want to remove RubyGems doc dir '$DOCDIR' ? [Yn] " ANS; \
if [ "$ANS" = y ] || [ "$ANS" = Y ]; then \
sudo rm -rf "$DOCDIR"/*; \
fi; \
fi; \
done)
使用现代 RubyGems:
(X='gem: --no-document'; \
touch ~/.gemrc && \
grep -q "^$X$" ~/.gemrc || echo "$X" >> ~/.gemrc)
使用旧 RubyGems:X='gem: --no-ri --no-rdoc' ...
【讨论】:
这个命令对我有用,可以删除 install 安装的文档。
rm -r "$(gem env gemdir)"/doc/*
这是另一种解决方法;
要找到系统上安装 gem 的文件夹,只需在终端或 shell 上运行以下命令
gem env home
这将显示类似的输出
/home/username/.rbenv/versions/2.5.5/lib/ruby/gems/2.5.0
然后您可以找到 docs 文件夹并删除您在 ruby 版本中为每个 gem 找到的所有文档
我也想在提供的答案中添加这个,
如果想阻止 gems 在安装过程中生成文档,则通过创建一个名为 ~/.gemrc 的文件来关闭本地文档生成,该文件包含用于关闭此功能的配置设置:
只需在终端或 shell 中运行此代码
printf "install: --no-rdoc --no-ri\nupdate: --no-rdoc --no-ri\n" >> ~/.gemrc
或
echo "gem: --no-document" > ~/.gemrc
这将防止 gem 在安装过程中生成文档,从而为您节省以后在系统上删除/删除 gem 文档的压力。
就是这样
我希望这会有所帮助。
【讨论】: