Comment faire de --no-ri --no-rdoc la valeur par défaut pour l'installation de gemmes?

1042

Je n'utilise pas la sortie RI ou RDoc des gemmes que j'installe dans ma machine ou dans les serveurs que je gère (j'utilise d'autres moyens de documentation).

Chaque gem que j'installe installe la documentation RI et RDoc par défaut, car j'oublie de la régler --no-ri --no-rdoc.

Existe-t-il un moyen de faire de ces deux indicateurs par défaut?

Ricardo Acras
la source
8
Ce n'est pas une bonne idée cependant. J'ai récemment eu besoin d'écrire du code sur la route et quand je l'ai lancé, gem serverje me suis souvenu que je les avais en moi $HOME/.gemrcet m'avait vraiment tué ... Google n'est pas toujours là.
atmosx
7
Dépend du contexte. C'est une bonne idée si vous pouvez attacher ou si vous le faites sur un serveur qui n'a pas besoin de documentation gem.
sir-pinecone
3
avec pry on peut utiliser show-sourcecomme alternative aux documents générés. Il affichera des commentaires en ligne, qui sont généralement le même contenu que le ri / rdoc de toute façon.
pleaner max

Réponses:

1221

Vous venez d' ajouter la ligne suivante à votre locale ~/.gemrcfichier (il est dans votre maison dossier):

gem: --no-document

ou vous pouvez ajouter cette ligne au gemrcfichier de configuration global .

Voici comment le trouver (sous Linux):

strace gem source 2>&1 | grep gemrc
Jirapong
la source
2
Quoi qu'il en soit pour en faire un système par défaut sans modifier / etc / skel et le répertoire personnel de chaque utilisateur?
Hackeron
41
ici vous allez / etc / gemrc
Jirapong
3
/ etc / gemrc n'a pas fonctionné pour moi, mais .gemrc l'a fait. Je me demande si c'est rvm spécifique qu'il ne lit pas le système gemrc?
wjl
5
La réponse de @ gdelfino est la moins intrusive
Ryan
4
obsolète - voir ma réponse
James Lim
492

D'après la documentation de RVM :

Ajoutez simplement cette ligne à votre ~/.gemrcou /etc/gemrc:

gem: --no-document

Remarque: La réponse originale était:

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

Ce n'est plus valable; les documents RVM ont depuis été mis à jour, donc la réponse actuelle pour inclure uniquement la gemdirective est la bonne.

gdelfino
la source
12
Depuis RubyGems version 2.0.0preview2 , vous pouvez utiliser à la place --no-documentou --document=rdocjuste pour rdoc.
iono
3
Je ne suis pas d'accord avec la modification de @ mpapis le 20 juin 2013. Il a totalement changé cette réponse et il y avait beaucoup de gens qui ont voté pour cela parce qu'ils pensaient que c'était mieux que la réponse acceptée. La personne qui a posté cette réponse a explicitement écrit qu'elle ne voulait pas ajouter ces deux options à chaque commande gem car elle casse certaines commandes. Avant que @mpapis ne modifie totalement la réponse, le code dans la réponse était: install: --no-rdoc --no-ri\nupdate: --no-rdoc --no-ri @mpapis, pourquoi avez-vous modifié la documentation RVM et aussi cette réponse?
David Grayson
1
parce que c'est vrai, il n'y a aucune raison de garder deux lignes séparées, suivre la compatibilité multi-projets est délicat - et les documents RVM sont parfois mis à jour lorsque nous constatons que quelque chose ne va pas - comme dans ce cas, il n'est pas vrai que rubygems le ferait comportez-vous mal, c'est très bien d'utiliser gem:au lieu de deux entrées distinctes.
mpapis
3
Utilisez ruby -e "require 'etc';puts Etc.sysconfdir"pour déterminer le chemin d'accès à votre gemrcfichier de configuration.
Michael Mims
2
Celui-ci est obsolète voir guides.rubygems.org/command-reference/#gem-install
raskhadafi
185

Notez que --no-riet --no-rdocont été déconseillés selon les nouveaux guides . La méthode recommandée consiste à utiliser --no-documentdans ~/.gemrcou /etc/gemrc.

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

ou

gem: --no-document
James Lim
la source
92

Sous Linux (et probablement Mac):

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

Ce one-liner était dans les commentaires ici, mais a en quelque sorte disparu.

Slava V
la source
11
Vous devez utiliser >>dans le cas où l'utilisateur a déjà un ~/.gemrc.
nickgrim
Y a-t-il une différence entre celui-ci echo 'gem: --no-doc --no-ri' >> ~/.gemrcet celui que vous avez écrit ou les deux ont le même effet?
ltdev
2
@Lykos --no-doc --no-riest déconseillé (voir guides.rubygems.org/command-reference/#gem_install pour les options)
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
la source
Merci pour cet exemple, parfait pour m'aider à supprimer le Ruby intégré que j'ai copié et collé à un moment donné, puis qui a entraîné des erreurs psychologiques lors de l'installation de RubyGems 1.8.10 sous Ruby 1.9.2.
stevenhaddox
17
Veuillez ne pas publier de réponses "premier résultat sur Google". Le premier résultat sur Google montre maintenant votre réponse, prouvant pourquoi vous ne devriez pas faire cela. Merci, bien sûr, pour votre réponse.
wjl
26
En fait, "premier résultat sur Google" montre: "" premier résultat sur Google "montre:" "premier résultat sur Google" montre: "" ... ERREUR: débordement de pile.
Félix Saparelli
Je dois ajouter mes remerciements pour le commentaire de Steve (ci-dessus). Je tirais mes cheveux pour savoir pourquoi je ne pouvais pas installer les derniers RubyGems. Il s'avère que j'avais également un fichier .gemrc malformé. J'ai continué à recevoir cette erreur: ../.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/psych.rb:148:in `parse ': impossible d'analyser YAML à la ligne 2 de la colonne 10 ( Psych :: SyntaxError)
wchrisjohnson
33

Sous Windows XP, le chemin d'accès au fichier .gemrc est

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

et ce fichier n'est pas créé par défaut, vous devez le créer vous-même.

Viachaslau Tysianchuk
la source
20
Sous Windows 7, c'est C: \ ProgramData \ gemrc
Viachaslau Tysianchuk
l'emplacement win7 fonctionne pour Windows 200. Assurez-vous également que vous avez "Masquer les extensions pour les types de fichiers connus", il ne récupérera pas gemrc.txt .... facepalm
jtzero
16

Un oneliner pour les utilisateurs de Windows 7:

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

Gabe
la source
6

Comme mentionné ci-dessus, mettez gem: --no-documentvotre fichier gem. Cependant, le gemrc à l'échelle du système ne sera pas toujours nécessairement intégré /etc/gemrc. Si vous utilisez RVM, ou si Ruby est installé sous /usr/local/bin, il doit aller à un emplacement différent. Vous pouvez trouver cet emplacement en exécutant irbet en tapant ...

require 'rubygems'
Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE

Voir le message original à ce sujet ici .

Adam
la source
1
Oneliner:ruby -rrubygems -e'puts Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE'
Andrew Burns
5

Pas à pas:

Pour créer / modifier le fichier .gemrc à partir du terminal:

vi  ~/.gemrc

Vous allez ouvrir un éditeur appelé vi. coller:

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

cliquez sur le bouton 'esc'.

tapez:

:exit

Vous pouvez vérifier si tout est correct avec cette commande:

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit ~/.gemrc
Andreas
la source
2
Pour clarifier, cette dernière commande est spécifique à OS X. Il ouvre le ~/.gemrcfichier dans un éditeur de texte.
Martijn Heemels
1
~ est la représentation du répertoire personnel. (les éléments suivants en majuscules sont des variables d'environnement) Ordre de vérification des répertoires pour .gemrc: 1. Utilisez HOME s'il est défini. 2. Utilisez USERPROFILE s'il est défini. 3. Utilisez HOMEDRIVE et HOMEPATH ensemble s'ils sont définis. 4. Utilisez le chemin que vous obtenez en faisant développer Ruby «~». 5. Utilisez «C: /» si vous êtes sur une machine Windows. C'est par: docs.rubygems.org/read/chapter/12
Gary S. Weaver
Vous ne devriez pas avoir besoin sudode modifier votre propre utilisateur ~/.gemrc.
jbbuckley
5

Sous Windows7, le fichier .gemrc n'est pas présent, vous pouvez laisser Ruby en créer un comme celui-ci (ce n'est pas facile à faire dans l'explorateur).

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

Vous devrez confirmer (ce n'est pas sûr). Maintenant, le fichier est créé dans votre dossier userprofile (c: \ users \)

Vous pouvez modifier le fichier texte pour supprimer la source que vous avez ajoutée ou vous pouvez le supprimer avec

gem sources --remove http://rubygems.org
peter
la source
3

Pour les utilisateurs de Windows, Ruby ne configure pas le fichier .gemrc. Vous devez donc créer un fichier .gemrc dans votre répertoire personnel ( echo %USERPROFILE%) et y mettre la ligne suivante:

gem: --no-document

Comme déjà mentionné dans les réponses précédentes, n'utilisez pas --no-ri et --no-rdoc car cela est obsolète. Voyez-le vous-même:

gem help install
Rajkaran Mishra
la source