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?


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

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.


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


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

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.


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/


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.


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



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 .


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

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

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.