Como tornar --no-ri --no-rdoc o padrão para a instalação de gem?

1041

Não uso a saída RI ou RDoc das gemas instaladas em minha máquina ou nos servidores que manuseio (uso outros meios de documentação).

Cada jóia que instalo instala a documentação do RI e RDoc por padrão, porque esqueço de configurá-lo --no-ri --no-rdoc.

Existe uma maneira de tornar esses dois sinalizadores o padrão?

Ricardo Acras
fonte
8
Mas não é uma boa ideia. Recentemente, precisei escrever código na estrada e, quando o lancei gem server, lembrei-me de que estava com ele $HOME/.gemrce realmente me matou ... O Google nem sempre está lá.
atmosx
7
Depende do contexto. É uma ótima idéia se você pode amarrar ou está fazendo isso em um servidor que não precisa de documentação sobre gemas.
sir-pinha
3
com alavanca, pode-se usar show-sourcecomo uma alternativa aos documentos gerados. Ele exibirá comentários embutidos, que geralmente têm o mesmo conteúdo que o ri / rdoc.
Max pleaner

Respostas:

1221

Basta adicionar a seguinte linha ao seu local de ~/.gemrcarquivo (que está na sua casa pasta):

gem: --no-document

ou você pode adicionar esta linha ao gemrcarquivo de configuração global .

Aqui está como encontrá-lo (no Linux):

strace gem source 2>&1 | grep gemrc
Jirapong
fonte
2
De qualquer forma, para tornar este um padrão em todo o sistema sem editar o / etc / skel e o diretório inicial de todos os usuários?
Hackeron
41
aqui você vai / etc / gemrc
Jirapong
3
/ etc / gemrc não funcionou para mim, mas .gemrc funcionou. Gostaria de saber se é rvm específico que ele não lê o gemrc sistema?
Wjl
5
@ resposta de gdelfino é o menos intrusivos
Ryan
4
obsoleto - por favor, veja minha resposta
James Lim
492

Da documentação do RVM :

Basta adicionar esta linha ao seu ~/.gemrcou /etc/gemrc:

gem: --no-document

Nota: A resposta original foi:

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

Isso não é mais válido; os documentos RVM foram atualizados, portanto, a resposta atual para incluir apenas a gemdiretiva é a correta.

gdelfino
fonte
12
Desde o RubyGems versão 2.0.0preview2 , você pode usar --no-documentou --document=rdocapenas para o rdoc.
iono
3
Não concordo com a edição do @ mpapis em 20 de junho de 2013. Ele mudou totalmente essa resposta e muitas pessoas votaram nela porque acharam que era melhor que a resposta aceita. A pessoa que postou esta resposta escreveu explicitamente que não deseja adicionar essas duas opções a cada comando gem, porque ele quebra alguns comandos. Antes de o @mpapis alterar totalmente a resposta, o código na resposta era: install: --no-rdoc --no-ri\nupdate: --no-rdoc --no-ri @mpapis, por que você alterou a documentação do RVM e também a resposta?
David Grayson
1
porque é verdade, não há motivo para manter duas linhas separadas, é complicado acompanhar a compatibilidade de vários projetos - e os documentos do RVM são atualizados às vezes quando descobrimos algo errado - como neste caso, não é verdade que rubygems se comportar errado, tudo bem usar em gem:vez de duas entradas separadas.
27413 mpapis
3
Use ruby -e "require 'etc';puts Etc.sysconfdir"para determinar o caminho para o seu gemrcarquivo de configuração.
Michael Mims
2
Este é obsoleto ver guides.rubygems.org/command-reference/#gem-install
raskhadafi
185

Note-se que --no-rie --no-rdocforam reprovados de acordo com as novas guias . A maneira recomendada é usar --no-documentem ~/.gemrcou /etc/gemrc.

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

ou

gem: --no-document
James Lim
fonte
91

No Linux (e provavelmente Mac):

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

Esse one-liner costumava estar nos comentários aqui, mas de alguma forma desapareceu.

Slava V
fonte
11
Você deve usar >>caso o usuário já tenha um ~/.gemrc.
nickgrim
Existe alguma diferença entre esse echo 'gem: --no-doc --no-ri' >> ~/.gemrce o que você escreveu ou ambos têm o mesmo efeito?
precisa saber é
2
O @Lykos --no-doc --no-riestá obsoleto (consulte o guia guias.rubygems.org/command-reference/#gem_install para obter opções)
Slava V
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

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

David
fonte
Obrigado por este exemplo, perfeito para me ajudar a remover o Ruby incorporado que copiei e colei em algum momento e, em seguida, resultou em erros psicológicos ao instalar o RubyGems 1.8.10 no Ruby 1.9.2.
stevenhaddox
17
Não poste respostas do "primeiro resultado no Google". O primeiro resultado no Google agora mostra sua resposta, comprovando por que você não deve fazer isso. Obrigado, é claro, pela sua resposta.
Wjl
26
Na verdade, "primeiro resultado no Google" mostra: "" primeiro resultado no Google "mostra:" "primeiro resultado no Google" mostra: "" ... ERRO: estouro de pilha.
Félix Saparelli
Eu tenho que adicionar meus agradecimentos pelo comentário de steve (acima). Eu estava arrancando os cabelos porque não conseguia instalar as últimas RubyGems. Acontece que eu também tinha um arquivo .gemrc malformado. Eu continuei recebendo este erro: ../.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/psych.rb:148:in `parse ': não foi possível analisar o YAML na linha 2 da coluna 10 ( Psych :: SyntaxError)
wchrisjohnson 4/11
33

No Windows XP, o caminho para o arquivo .gemrc é

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

e esse arquivo não é criado por padrão, você deve criá-lo.

Viachaslau Tysianchuk
fonte
20
Sob Windows 7 é C: \ ProgramData \ gemrc
Viachaslau Tysianchuk
a localização win7 Works para Windows 200. Também verifique se você tem "Ocultar as extensões dos tipos de arquivo conhecidos" off ele não vai pegar gemrc.txt .... facepalm
jtzero
16

Um oneliner para os usuários do Windows 7:

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

Gabe
fonte
6

Como mencionado acima, coloque gem: --no-documentno seu arquivo gem. No entanto, o gemrc em todo o sistema nem sempre necessariamente entra /etc/gemrc. Se você estiver usando o RVM ou tiver o Ruby instalado /usr/local/bin, ele precisará ser localizado em um local diferente. Você pode encontrar este local executando irbe digitando ...

require 'rubygems'
Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE

Veja o post original sobre isso aqui .

Adão
fonte
1
Oneliner:ruby -rrubygems -e'puts Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE'
Andrew Burns
5

Passo a passo:

Para criar / editar o arquivo .gemrc no terminal:

vi  ~/.gemrc

Você abrirá um editor chamado vi. cole em:

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

clique no botão 'esc'.

digitar:

:exit

Você pode verificar se tudo está correto com este comando:

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit ~/.gemrc
Andreas
fonte
2
Para esclarecer, esse último comando é específico do OS X. Abre o ~/.gemrcarquivo em um editor de texto.
Martijn Heemels
1
~ é representação para o diretório inicial. (as seguintes informações no caps são variáveis ​​de ambiente) Ordem de verificação de diretórios para .gemrc: 1. Use HOME se estiver definido. 2. Use USERPROFILE se estiver definido. 3. Use HOMEDRIVE e HOMEPATH juntos, se eles estiverem definidos. 4. Use o caminho que você encontra ao Ruby expandir “~”. 5. Use “C: /” se você estiver em uma máquina Windows. Isso é feito por: docs.rubygems.org/read/chapter/12
Gary S. Weaver
Você não precisa sudoeditar o seu próprio usuário ~/.gemrc.
Jbbuckley
5

No Windows7, o arquivo .gemrc não está presente, você pode permitir que o Ruby crie um como este (não é fácil fazer isso no explorer).

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

Você terá que confirmar (não é seguro). Agora, o arquivo é criado na sua pasta de perfil de usuário (c: \ users \)

Você pode editar o arquivo de texto para remover a fonte que você adicionou ou pode removê-lo com

gem sources --remove http://rubygems.org
Pedro
fonte
3

Para usuários do Windows, Ruby não configura o arquivo .gemrc. Então você deve criar o arquivo .gemrc no seu diretório pessoal ( echo %USERPROFILE%) e colocar a seguinte linha:

gem: --no-document

Como já mencionado nas respostas anteriores, não use --no-ri e --no-rdoc, pois isso está obsoleto. Veja você mesmo:

gem help install
Rajkaran Mishra
fonte