¿Cómo hacer que --no-ri --no-rdoc sea el valor predeterminado para la instalación de gemas?

1042

No uso la salida RI o RDoc de las gemas que instalo en mi máquina o en los servidores que manejo (utilizo otros medios de documentación).

Cada gema que instalo instala la documentación RI y RDoc por defecto, porque olvido configurarla --no-ri --no-rdoc.

¿Hay alguna manera de hacer que esas dos banderas sean las predeterminadas?

Ricardo Acras
fuente
8
Sin embargo, no es una buena idea. Hace poco necesitaba escribir código en el camino y cuando lo lancé gem serverrecordé que tenía estos en mi $HOME/.gemrcy realmente me mató ... Google no siempre está ahí.
Atmosx
77
Depende del contexto. Es una gran idea si puede atar o está haciendo esto en un servidor que no necesita documentación de gemas.
señor-piña
3
Con Pry se puede usar show-sourcecomo alternativa a los documentos generados. Mostrará comentarios en línea, que generalmente tienen el mismo contenido que el ri / rdoc de todos modos.
max pleaner

Respuestas:

1221

Simplemente agregue la siguiente línea a su ~/.gemrcarchivo local (está en su carpeta de inicio ):

gem: --no-document

o puede agregar esta línea al gemrcarchivo de configuración global .

Aquí está cómo encontrarlo (en Linux):

strace gem source 2>&1 | grep gemrc
Jirapong
fuente
2
¿De todos modos para hacer que este sea un valor predeterminado para todo el sistema sin editar / etc / skel y el directorio de inicio de cada usuario?
Hackeron el
41
aquí tienes / etc / gemrc
Jirapong
3
/ etc / gemrc no funcionó para mí, pero .gemrc sí. Me pregunto si es específico de rvm que no lee el gemrc del sistema.
wjl
55
La respuesta de @ gdelfino es la menos molesta
Ryan
44
en desuso - por favor vea mi respuesta
James Lim
492

De la documentación de RVM :

Simplemente agregue esta línea a su ~/.gemrco /etc/gemrc:

gem: --no-document

Nota: La respuesta original fue:

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

Esto ya no es válido; los documentos RVM se han actualizado desde entonces, por lo tanto, la respuesta actual para incluir solo la gemdirectiva es la correcta.

gdelfino
fuente
12
Desde RubyGems versión 2.0.0preview2 , puede usar --no-documento --document=rdocsolo para rdoc.
iono
3
No estoy de acuerdo con la edición de @ mpapis el 20 de junio de 2013. Él cambió por completo esta respuesta y hubo muchas personas que votaron por ella porque pensaron que era mejor que la respuesta aceptada. La persona que publicó esta respuesta escribió explícitamente que no desea agregar esas dos opciones a cada comando de gema porque rompe algunos comandos. Antes de que @mpapis cambiara totalmente la respuesta, el código en la respuesta era: install: --no-rdoc --no-ri\nupdate: --no-rdoc --no-ri @mpapis, ¿por qué cambió la documentación de RVM y también cambió esta respuesta?
David Grayson
1
porque es cierto, no hay razón para mantener dos líneas separadas, hacer un seguimiento de la compatibilidad de proyectos múltiples es complicado, y los documentos RVM a veces se actualizan cuando encontramos que algo está apagado, como en este caso, no es cierto que los rubygems comportarse mal, está bien usarlo en gem:lugar de dos entradas separadas.
mpapis
3
Use ruby -e "require 'etc';puts Etc.sysconfdir"para determinar la ruta a su gemrcarchivo de configuración.
Michael Mims
2
Este está en desuso, consulte guías.rubygems.org
command
185

Tenga en cuenta que --no-riy --no-rdochan quedado en desuso según las nuevas guías . La forma recomendada es usar --no-documenten ~/.gemrco /etc/gemrc.

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

o

gem: --no-document
James Lim
fuente
92

En Linux (y probablemente Mac):

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

Esta frase solía estar en los comentarios aquí, pero de alguna manera desapareció.

Slava V
fuente
11
Debe usar >>en caso de que el usuario ya tenga un ~/.gemrc.
nickgrim
¿Hay alguna diferencia entre esto echo 'gem: --no-doc --no-ri' >> ~/.gemrcy el que escribiste o ambos tienen el mismo efecto?
ltdev
2
@Lykos --no-doc --no-riestá en desuso (ver guías.rubygems.org / command - reference / #gem_install para ver las opciones)
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
fuente
Gracias por este ejemplo, perfecto para ayudarme a eliminar el Ruby incrustado que copié y pegué en algún momento y luego resultó en errores psicológicos al instalar RubyGems 1.8.10 en Ruby 1.9.2.
stevenhaddox
17
No publiques las respuestas del "primer resultado en Google". El primer resultado en Google ahora muestra su respuesta, lo que demuestra por sí mismo por qué no debe hacer esto. Gracias, por supuesto, por su respuesta.
wjl
26
En realidad, "primer resultado en Google" muestra: "" primer resultado en Google "muestra:" "primer resultado en Google" muestra: "" ... ERROR: desbordamiento de pila.
Félix Saparelli
Tengo que agregar mi agradecimiento por el comentario de Steve (arriba). Me estaba sacando el pelo por qué no podía instalar los últimos RubyGems. Resulta que también tenía un archivo .gemrc con formato incorrecto. Seguí recibiendo este error: ../.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/psych.rb:148:in `parse ': no ​​podía analizar YAML en la línea 2 columna 10 ( Psych :: SyntaxError)
wchrisjohnson
33

En Windows XP, la ruta al archivo .gemrc es

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

y este archivo no se crea de manera predeterminada, debe crearlo usted mismo.

Viachaslau Tysianchuk
fuente
20
En Windows 7 es C: \ ProgramData \ gemrc
Viachaslau Tysianchuk
la ubicación win7 funciona para Windows 200. Asegúrese también de que "Ocultar extensiones para tipos de archivo conocidos" no recoja gemrc.txt .... facepalm
jtzero
16

Un oneliner para los usuarios de Windows 7:

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

Gabe
fuente
6

Como se mencionó anteriormente, coloque gem: --no-documentsu archivo de gemas. Sin embargo, el gemrc de todo el sistema no siempre entrará necesariamente /etc/gemrc. Si está utilizando RVM, o tiene Ruby instalado debajo /usr/local/bin, debe ir a una ubicación diferente. Puede encontrar esta ubicación ejecutando irby escribiendo ...

require 'rubygems'
Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE

Vea la publicación original sobre esto aquí .

Adán
fuente
1
Oneliner:ruby -rrubygems -e'puts Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE'
Andrew Burns
5

Paso a paso:

Para crear / editar el archivo .gemrc desde la terminal:

vi  ~/.gemrc

Abrirás un editor llamado vi. pegar en:

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

haga clic en el botón 'esc'.

escribir:

:exit

Puede verificar si todo está correcto con este comando:

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit ~/.gemrc
Andreas
fuente
2
Para aclarar, ese último comando es específico de OS X. Abre el ~/.gemrcarchivo en un editor de texto.
Martijn Heemels
1
~ es una representación para el directorio de inicio. (las siguientes cosas en mayúsculas son variables de entorno) Orden de verificar directorios para .gemrc: 1. Use HOME si está definido. 2. Utilice el PERFIL DE USUARIO si está definido. 3. Use HOMEDRIVE y HOMEPATH juntos si están definidos. 4. Use la ruta que obtiene haciendo que Ruby expanda "~". 5. Utilice "C: /" si está en una máquina con Windows. Eso es por: docs.rubygems.org/read/chapter/12
Gary S. Weaver
No debería necesitar sudoeditar su propio usuario ~/.gemrc.
jbbuckley
5

En Windows7, el archivo .gemrc no está presente, puede dejar que Ruby cree uno como este (no es fácil hacerlo en el explorador).

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

Deberá confirmar (no es seguro). Ahora el archivo se crea en su carpeta de perfil de usuario (c: \ users \)

Puede editar el archivo de texto para eliminar la fuente que agregó o puede eliminarlo con

gem sources --remove http://rubygems.org
Peter
fuente
3

Para los usuarios de Windows, Ruby no configura el archivo .gemrc. Por lo tanto, debe crear el archivo .gemrc en su directorio de inicio ( echo %USERPROFILE%) y poner la siguiente línea en él:

gem: --no-document

Como ya se mencionó en respuestas anteriores, no use --no-ri y --no-rdoc porque está en desuso. Véalo usted mismo:

gem help install
Rajkaran Mishra
fuente