Wie mache ich --no-ri --no-rdoc zum Standard für die Gem-Installation?

1041

Ich verwende nicht die RI- oder RDoc-Ausgabe der Gems, die ich auf meinem Computer oder auf den von mir verwalteten Servern installiere (ich verwende andere Dokumentationsmittel).

Jedes Juwel, das ich installiere, installiert standardmäßig die RI- und RDoc-Dokumentation, da ich das Festlegen vergessen habe --no-ri --no-rdoc.

Gibt es eine Möglichkeit, diese beiden Flags als Standard festzulegen?

Ricardo Acras
quelle
8
Es ist jedoch keine gute Idee. Ich musste kürzlich unterwegs Code schreiben und als ich startete, gem servererinnerte ich mich daran, dass ich diese in meinem hatte $HOME/.gemrcund mich wirklich umgebracht habe ... Google ist nicht immer da.
atmosx
7
Kommt auf den Kontext an. Es ist eine großartige Idee, wenn Sie eine Verbindung herstellen können oder dies auf einem Server tun, für den keine Gem-Dokumentation erforderlich ist.
Sir-Tannenzapfen
3
mit pry kann man show-sourcealternativ zu generierten docs verwenden. Es werden Inline-Kommentare angezeigt, die im Allgemeinen ohnehin den gleichen Inhalt wie das ri / rdoc haben.
Max Pleaner

Antworten:

1221

Sie fügen Ihrer lokalen ~/.gemrcDatei einfach die folgende Zeile hinzu (sie befindet sich in Ihrem Home- Ordner):

gem: --no-document

oder Sie können diese Zeile zur globalen gemrcKonfigurationsdatei hinzufügen .

So finden Sie es (unter Linux):

strace gem source 2>&1 | grep gemrc
Jirapong
quelle
2
Wie auch immer, um dies zu einem systemweiten Standard zu machen, ohne / etc / skel und das Home-Verzeichnis jedes Benutzers zu bearbeiten?
Hackeron
41
hier gehts / etc / gemrc
Jirapong
3
/ etc / gemrc hat bei mir nicht funktioniert, aber .gemrc. Ich frage mich, ob es rvm-spezifisch ist, dass es das System gemrc nicht liest.
wjl
5
@ gdelfino Antwort ist die am wenigsten aufdringliche
Ryan
4
veraltet - bitte sehen Sie meine Antwort
James Lim
492

Aus der Dokumentation von RVM :

Fügen Sie einfach diese Zeile zu Ihrem ~/.gemrcoder hinzu /etc/gemrc:

gem: --no-document

Hinweis: Die ursprüngliche Antwort war:

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

Dies ist nicht mehr gültig; Die RVM-Dokumente wurden inzwischen aktualisiert, daher ist die aktuelle Antwort, nur die gemDirektive einzuschließen, die richtige.

gdelfino
quelle
12
Seit RubyGems Version 2.0.0preview2 können Sie stattdessen --no-documentoder --document=rdocnur für rdoc verwenden.
Iono
3
Ich bin mit der Bearbeitung von @ mpapis am 20. Juni 2013 nicht einverstanden. Er hat diese Antwort total geändert und es gab viele Leute, die dafür gestimmt haben, weil sie dachten, es sei besser als die akzeptierte Antwort. Die Person, die diese Antwort gepostet hat, hat ausdrücklich geschrieben, dass sie diese beiden Optionen nicht zu jedem Edelsteinbefehl hinzufügen möchte, da dadurch einige Befehle unterbrochen werden. Bevor @mpapis die Antwort vollständig geändert hat, lautete der Code in der Antwort: install: --no-rdoc --no-ri\nupdate: --no-rdoc --no-ri @mpapis, warum haben Sie die RVM-Dokumentation geändert und auch diese Antwort geändert?
David Grayson
1
Da dies zutrifft, gibt es keinen Grund, zwei separate Zeilen beizubehalten. Es ist schwierig, die Kompatibilität mehrerer Projekte zu verfolgen - und die RVM-Dokumente werden manchmal aktualisiert, wenn wir feststellen, dass etwas nicht stimmt - wie in diesem Fall ist es nicht wahr, dass Rubygems dies tun würden Verhalten Sie sich falsch, es ist alles in Ordnung, gem:anstelle von zwei separaten Einträgen zu verwenden.
Papis
3
Verwenden ruby -e "require 'etc';puts Etc.sysconfdir"Sie diese gemrcOption , um den Pfad zu Ihrer Konfigurationsdatei zu bestimmen .
Michael Mims
185

Beachten Sie, dass --no-riund --no-rdocgemäß den neuen Handbüchern veraltet sind . Die empfohlene Methode ist die Verwendung --no-documentin ~/.gemrcoder /etc/gemrc.

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

oder

gem: --no-document
James Lim
quelle
91

Unter Linux (und wahrscheinlich Mac):

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

Dieser Einzeiler war früher in Kommentaren hier, aber irgendwie verschwunden.

Slava V.
quelle
11
Sie sollten verwenden, >>falls der Benutzer bereits eine hat ~/.gemrc.
Nickgrim
Gibt es einen Unterschied zwischen dem echo 'gem: --no-doc --no-ri' >> ~/.gemrcund dem, den Sie geschrieben haben, oder haben beide den gleichen Effekt?
ltdev
2
@ Lykos --no-doc --no-riist veraltet (siehe Guides.rubygems.org/command-reference/#gem_install für Optionen)
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
quelle
Vielen Dank für dieses Beispiel, das mir dabei hilft, den eingebetteten Ruby zu entfernen, den ich irgendwann kopiert und eingefügt habe und der dann bei der Installation von RubyGems 1.8.10 unter Ruby 1.9.2 zu psychischen Fehlern geführt hat.
Stevenhaddox
17
Bitte posten Sie keine Antworten "Erstes Ergebnis bei Google". Das erste Ergebnis bei Google zeigt jetzt Ihre Antwort und zeigt selbst, warum Sie dies nicht tun sollten. Vielen Dank natürlich für Ihre Antwort.
wjl
26
Tatsächlich zeigt "erstes Ergebnis bei Google": "" erstes Ergebnis bei Google "zeigt:" "erstes Ergebnis bei Google" zeigt: "" ... FEHLER: Stapelüberlauf.
Félix Saparelli
Ich muss mich für den Kommentar von Steve bedanken (oben). Ich habe mir die Haare ausgezogen, warum ich die neuesten RubyGems nicht installieren konnte. Es stellte sich heraus, dass ich auch eine fehlerhafte .gemrc-Datei hatte. Ich habe immer wieder diesen Fehler erhalten: ../.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/psych.rb:148:in `parse ': YAML konnte in Zeile 2, Spalte 10 ( Psych :: SyntaxError)
wchrisjohnson
33

Unter Windows XP lautet der Pfad zur .gemrc-Datei

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

und diese Datei wird nicht standardmäßig erstellt, Sie sollten sie selbst erstellen.

Viachaslau Tysianchuk
quelle
20
Unter Windows 7 ist es C: \ ProgramData \ gemrc
Viachaslau Tysianchuk
Der Win7-Speicherort funktioniert für Windows 200. Stellen Sie außerdem sicher, dass "Erweiterungen für bekannte Dateitypen ausblenden" deaktiviert ist, damit gemrc.txt nicht abgerufen wird .... facepalm
jtzero
16

Ein Oneliner für Windows 7-Benutzer:

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

Gabe
quelle
6

Wie oben erwähnt, legen Sie gem: --no-documentIhre Edelsteindatei ein. Das systemweite gemrc wird jedoch nicht immer unbedingt verwendet /etc/gemrc. Wenn Sie RVM verwenden oder Ruby unter installiert haben /usr/local/bin, muss es an einem anderen Speicherort installiert werden . Sie können diesen Ort finden, irbindem Sie ...

require 'rubygems'
Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE

Siehe den Originalbeitrag dazu hier .

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

Schritt für Schritt:

So erstellen / bearbeiten Sie die .gemrc-Datei vom Terminal aus:

vi  ~/.gemrc

Sie öffnen einen Editor namens vi. einfügen in:

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

Klicken Sie auf die Schaltfläche "Esc".

eintippen:

:exit

Mit diesem Befehl können Sie überprüfen, ob alles korrekt ist:

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit ~/.gemrc
Andreas
quelle
2
Zur Verdeutlichung ist dieser letzte Befehl OS X-spezifisch. Es öffnet die ~/.gemrcDatei in einem Texteditor.
Martijn Heemels
1
~ ist eine Darstellung für das Ausgangsverzeichnis. (Die folgenden Angaben in Großbuchstaben sind Umgebungsvariablen.) Reihenfolge der Überprüfung der Verzeichnisse auf .gemrc: 1. Verwenden Sie HOME, wenn es definiert ist. 2. Verwenden Sie USERPROFILE, wenn es definiert ist. 3. Verwenden Sie HOMEDRIVE und HOMEPATH zusammen, wenn sie definiert sind. 4. Verwenden Sie den Pfad, den Sie erhalten, wenn Ruby "~" erweitert. 5. Verwenden Sie "C: /", wenn Sie sich auf einem Windows-Computer befinden. Das ist per: docs.rubygems.org/read/chapter/12
Gary S. Weaver
Sie sollten nicht die sudoIhres eigenen Benutzers bearbeiten müssen ~/.gemrc.
Jbbuckley
5

Unter Windows 7 ist die .gemrc-Datei nicht vorhanden. Sie können Ruby eine solche Datei erstellen lassen (dies ist im Explorer nicht einfach).

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

Sie müssen bestätigen (es ist unsicher). Jetzt wird die Datei in Ihrem Benutzerprofilordner erstellt (c: \ users \).

Sie können die Textdatei bearbeiten, um die hinzugefügte Quelle zu entfernen, oder Sie können sie mit entfernen

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

Für Windows-Benutzer richtet Ruby keine .gemrc-Datei ein. Sie müssen also eine .gemrc-Datei in Ihrem Home-Verzeichnis ( echo %USERPROFILE%) erstellen und die folgende Zeile einfügen :

gem: --no-document

Wie bereits in früheren Antworten erwähnt, verwenden Sie nicht --no-ri und --no-rdoc, da dies veraltet ist. Überzeugen Sie sich selbst:

gem help install
Rajkaran Mishra
quelle