【问题标题】:How do you remove the documentation installed by gem install?如何删除 gem install 安装的文档?
【发布时间】:2010-12-21 09:05:15
【问题描述】:

我知道可以在没有文档的情况下安装 gem,但不幸的是,我在使用 ruby​​ 的前三个月没有安装。在那段时间里,我设法安装了大量的 gem,但自从我开始使用 ruby​​ 以来,我没有一次在我的计算机上使用过文档。我总是在 Internet 上查找文档。

从我的计算机上安全删除文档的最佳方法是什么?另外,有没有办法将 ruby​​ 配置为默认不安装文档?

【问题讨论】:

    标签: ruby rubygems rdoc


    【解决方案1】:

    我无法回答您问题的第一部分(我自己也有同样的问题),但我设法默认不安装文档。

    您可以在gem config file 中指定一些默认命令行选项,您可以指定不生成文档(类似于 --no-rdoc 和 --no-ri)。

    山姆

    【讨论】:

      【解决方案2】:

      Gem 文档安装在 [RUBY]/lib/ruby/gems/doc 中,其中 [RUBY] 是您安装 Ruby 的目录(我的机器上是 C:/ruby)。

      我不明白您为什么不应该只删除代表不需要文档的 gem 的文件夹:您可以随时重新生成它。

      【讨论】:

        【解决方案3】:

        运行这个命令:

        rm -r "$(gem env gemdir)"/doc/*
        

        如果您使用 cygwin,则在 Windows 上

        【讨论】:

          【解决方案4】:

          我知道有一个 .gemrc 文件可以使用。

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

          将两行放入其中。 我相信您将 .gemrc 文件放在 $Home 目录中。

          【讨论】:

            【解决方案5】:

            将其中任何一个复制并粘贴到与 Bourne 兼容的 shell 中:

            删除本地安装 gem 的现有文档,仅限当前用户

            (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)
            

            删除所有全局安装的系统 gem 的文档

            (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)
            

            从现在开始禁止当前用户生成 gems 文档

            使用现代 RubyGems:

            (X='gem: --no-document'; \
            touch ~/.gemrc && \
            grep -q "^$X$" ~/.gemrc || echo "$X" >> ~/.gemrc)
            

            使用旧 RubyGems:X='gem: --no-ri --no-rdoc' ...

            【讨论】:

              【解决方案6】:

              这个命令对我有用,可以删除 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 文档的压力。

              就是这样

              我希望这会有所帮助。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2017-11-29
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2013-10-17
                • 1970-01-01
                相关资源
                最近更新 更多