Как сделать --no-ri --no-rdoc параметром по умолчанию для установки гема?

Я не использую вывод RI или RDoc из драгоценных камней, которые я устанавливаю на свой компьютер или на обслуживаемых мной серверах (я использую другие средства документации).

Каждый драгоценный камень, который я устанавливаю, по умолчанию устанавливает документацию RI и RDoc, потому что я забыл установить --no-ri --no-rdoc.

Есть ли способ сделать эти два флага значениями по умолчанию?


person Ricardo Acras    schedule 04.09.2009    source источник
comment
Но это плохая идея. Недавно мне нужно было написать код в дороге, и когда я запустил gem server, я вспомнил, что они были у меня в $HOME/.gemrc, и действительно убил меня ... Google не всегда рядом.   -  person patm    schedule 13.01.2014
comment
Зависит от контекста. Это отличная идея, если вы можете использовать привязку или делаете это на сервере, для которого не требуется документация по драгоценным камням.   -  person sir-pinecone    schedule 28.05.2014
comment
с помощью pry можно использовать show-source как альтернативу сгенерированным документам. Он покажет встроенные комментарии, которые в любом случае имеют то же содержание, что и ri / rdoc.   -  person max pleaner    schedule 11.05.2016


Ответы (12)


Вы просто добавляете следующую строку в свой локальный ~/.gemrc файл (он находится в вашей домашней папке):

gem: --no-document

или вы можете добавить эту строку в глобальный файл конфигурации gemrc.

Вот как это найти (в Linux):

strace gem source 2>&1 | grep gemrc
person Jirapong    schedule 06.09.2009
comment
В любом случае, чтобы сделать это общесистемным значением по умолчанию без редактирования / etc / skel и домашнего каталога каждого пользователя? - person Hackeron; 13.01.2011
comment
/ etc / gemrc у меня не работал, но .gemrc работал. Интересно, специфичен ли rvm, что он не читает системный gemrc? - person wjl; 04.09.2011
comment
Да, я использую RVM, и /etc/gemrc у меня тоже не работает. - person PhilT; 21.09.2011
comment
Я думаю, что по умолчанию мнения разделились, поэтому его никогда не меняли. - person PhilT; 21.09.2011
comment
Ответ @gdelfino наименее навязчивый - person rxgx; 15.05.2012
comment
устарело - пожалуйста, посмотрите мой ответ - person James Lim; 28.06.2013
comment
Используйте ruby -e "require 'etc';puts Etc.sysconfdir", чтобы определить путь к вашему gemrc файлу конфигурации. - person Michael Mims; 15.11.2013
comment
Если ruby ​​был скомпилирован с префиксом типа --prefix=/opt/ruby, то путь к файлу конфигурации будет /opt/ruby/etc/gemrc (подтверждено с помощью ruby ​​2.3.1) - person Hubro; 16.06.2016
comment
У меня не было gemrc, но моя система была вполне счастлива использовать совершенно новую в ~/.gemrc. - person PJSCopeland; 06.10.2017
comment
В FreeBSD truss gem source 2>&1 | grep gemrc | awk -F '"' '{print $2}' - это волшебное заклинание, которое напрямую указывает вам соответствующие пути. - person hd1; 10.03.2019
comment
Чтобы найти файл gemrc, запустите gem env и найдите отображаемое поле вывода SYSTEM CONFIGURATION DIRECTORY. Создайте или отредактируйте файл gemrc в этом каталоге. - person oskarpearson; 27.08.2019

Из документации RVM:

Просто добавьте эту строку в свой ~/.gemrc или /etc/gemrc:

gem: --no-document

Примечание. Исходный ответ был таким:

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

Это больше не действует; с тех пор документы RVM были обновлены, поэтому текущий ответ, включающий только директиву gem, является правильным.

person gdelfino    schedule 05.10.2011
comment
Начиная с версии RubyGems 2.0.0preview2, вы можете вместо этого использовать --no-document или --document=rdoc только для rdoc. - person iono; 09.04.2013
comment
/etc/gemrc на практике не работает, и документация с этим согласна. - person MattiSG; 17.06.2013
comment
/etc/gemrc будет работать с бинарными рубинами RVM, потому что они используют --sysconfdir=/etc, вы также можете построить свои рубины с его помощью следующим образом: rvm install 2.0.0 -C --sysconfdir=/etc чтобы заставить /etc/gemrc работать для скомпилированных рубинов, в противном случае используйте $MY_RUBY_HOME/gemrc. - person mpapis; 20.06.2013
comment
Я не согласен с правкой @mpapis от 20 июня 2013 года. Он полностью изменил этот ответ, и было много людей, которые проголосовали за него, потому что они думали, что это лучше, чем принятый ответ. Человек, отправивший этот ответ, явно написал, что не хочет добавлять эти два параметра к каждой команде драгоценного камня, потому что это нарушает некоторые команды. До того, как @mpapis полностью изменил ответ, код в ответе был: install: --no-rdoc --no-ri\nupdate: --no-rdoc --no-ri @mpapis, почему вы изменили документацию RVM, а также изменили этот ответ? - person David Grayson; 27.06.2013
comment
поскольку это правда, нет причин хранить две отдельные строки, отслеживать совместимость нескольких проектов сложно - и документы RVM иногда обновляются, когда мы обнаруживаем, что что-то не так - как в этом случае, неверно, что rubygems будет ведете себя неправильно, можно использовать gem: вместо двух отдельных записей. - person mpapis; 27.06.2013
comment
В документах RVM говорится об использовании rvm_gem_options в ~/.rvmrc, т.е. чтобы отключить документы export rvm_gem_options="--nodocument" или включить документы export rvm_gem_options="--document rdoc,ri" - person bain; 27.07.2013
comment
Используйте ruby -e "require 'etc';puts Etc.sysconfdir", чтобы определить путь к вашему gemrc файлу конфигурации. - person Michael Mims; 15.11.2013
comment
Этот вариант устарел, см. guides.rubygems.org/command-reference/#gem-install - person raskhadafi; 11.02.2015

Обратите внимание, что --no-ri и --no-rdoc устарели в соответствии с новыми руководствами. Рекомендуемый способ - использовать --no-document в ~/.gemrc или /etc/gemrc.

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

or

gem: --no-document
person James Lim    schedule 19.06.2013

В Linux (и, вероятно, Mac):

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

Этот однострочный комментарий раньше был здесь в комментариях, но как-то исчез.

person Community    schedule 05.10.2012
comment
Вы должны использовать >>, если у пользователя уже есть ~/.gemrc. - person nickgrim; 25.02.2013
comment
Есть ли разница между этим echo 'gem: --no-doc --no-ri' >> ~/.gemrc и тем, что вы написали, или оба имеют одинаковый эффект? - person ltdev; 24.01.2018
comment
@Lykos --no-doc --no-ri устарел (см. guides.rubygems.org/command-reference/#gem_install для опций) - person Slava V; 25.01.2018

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

person David    schedule 18.09.2010
comment
Спасибо за этот пример, он идеально подходит, чтобы помочь мне избавиться от встроенного Ruby, который я скопировал и вставил в какой-то момент, а затем привел к психологическим ошибкам при установке RubyGems 1.8.10 под Ruby 1.9.2. - person stevenhaddox; 03.09.2011
comment
Пожалуйста, не публикуйте первый результат в ответах Google. Первый результат в Google теперь показывает ваш ответ, доказывающий, почему вам не следует этого делать. Спасибо, конечно, за ответ. - person wjl; 04.09.2011
comment
Фактически, первый результат в Google показывает: первый результат в Google показывает: первый результат в Google показывает: ... ОШИБКА: переполнение стека. - person Félix Saparelli; 22.09.2011
comment
Я должен добавить свою благодарность за комментарий Стива (см. Выше). Я пытался понять, почему не могу установить последнюю версию RubyGems. Оказывается, у меня тоже был искаженный файл .gemrc. Я продолжал получать эту ошибку: ../.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/psych.rb:148:in `parse ': не удалось проанализировать YAML в строке 2, столбце 10 ( Psych :: SyntaxError) - person wchrisjohnson; 04.11.2011
comment
и если вы введете google в google, вы сломаете интернет - person ecoologic; 14.06.2021

В Windows XP путь к файлу .gemrc:

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

и этот файл не создается по умолчанию, вы должны создать его самостоятельно.

person Viachaslau Tysianchuk    schedule 28.06.2010
comment
В Windows 7 это C: \ ProgramData \ gemrc. - person Viachaslau Tysianchuk; 05.08.2010
comment
расположение win7 работает для Windows 200. Также убедитесь, что у вас отключено Скрытие расширений для известных типов файлов, он не будет забирать gemrc.txt .... facepalm - person jtzero; 27.03.2012

Один лайнер для пользователей Windows 7:

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

person Gabe    schedule 12.09.2013

Вы можете указать параметры по умолчанию, используя файл конфигурации .gemrc.

Документация о файле конфигурации gem

person Vincent Robert    schedule 05.09.2009

Как упоминалось выше, поместите gem: --no-document в свой файл драгоценного камня. Однако общесистемный gemrc не всегда будет попадать в /etc/gemrc. Если вы используете RVM или у вас установлен Ruby в /usr/local/bin, он должен находиться в другом месте. Вы можете найти это местоположение, запустив irb и набрав ...

require 'rubygems'
Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE

См. Исходный пост по этому поводу в здесь.

person Adam    schedule 06.04.2014
comment
Один лайнер: ruby -rrubygems -e'puts Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE' - person Andrew Burns; 21.02.2019

Пошагово:

Чтобы создать / отредактировать файл .gemrc из терминала:

vi  ~/.gemrc

Вы откроете редактор под названием vi. вставить:

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

нажмите кнопку "esc".

введите:

:exit

Вы можете проверить, все ли правильно, с помощью этой команды:

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit ~/.gemrc
person Andreas    schedule 29.12.2011
comment
Чтобы уточнить, эта последняя команда специфична для OS X. Он открывает ~/.gemrc файл в текстовом редакторе. - person Martijn Heemels; 16.01.2012
comment
~ - это домашний каталог. (следующие элементы в заглавных буквах являются переменными среды) Порядок проверки каталогов на наличие .gemrc: 1. Используйте HOME, если он определен. 2. Используйте ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ, если он определен. 3. Используйте HOMEDRIVE и HOMEPATH вместе, если они определены. 4. Используйте путь, который вы получите, если Ruby развернет «~». 5. Используйте «C: /», если вы работаете на компьютере с Windows. Это за: docs.rubygems.org/read/chapter/12 - person Gary S. Weaver; 31.01.2012
comment
Вам не нужно sudo редактировать ~/.gemrc вашего собственного пользователя. - person jbbuckley; 05.02.2017

В Windows7 файл .gemrc отсутствует, вы можете позволить Ruby создать его подобным образом (это непросто сделать в проводнике).

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

Вам нужно будет подтвердить (это небезопасно). Теперь файл создан в папке вашего профиля пользователя (c: \ users \).

Вы можете отредактировать текстовый файл, чтобы удалить добавленный вами источник, или вы можете удалить его с помощью

gem sources --remove http://rubygems.org
person peter    schedule 21.03.2014

Для пользователей Windows Ruby не устанавливает файл .gemrc. Итак, вам нужно создать файл .gemrc в своем домашнем каталоге (echo %USERPROFILE%) и поместить в него следующую строку:

gem: --no-document

Как уже упоминалось в предыдущих ответах, не используйте --no-ri и --no-rdoc, потому что они устарели. Смотрите сами:

gem help install
person Rajkaran Mishra    schedule 28.09.2016