Jak ustawić --no-ri --no-rdoc jako domyślną instalację gem?


1041

Nie używam danych wyjściowych RI lub RDoc z klejnotów, które instaluję na moim komputerze lub na obsługiwanych przeze mnie serwerach (używam innych środków dokumentacji).

Każdy klejnot, który instaluję, domyślnie instaluje dokumentację RI i RDoc, ponieważ zapomniałem ustawić --no-ri --no-rdoc.

Czy istnieje sposób, aby ustawić te dwie flagi jako domyślne?


8
To nie jest dobry pomysł. Niedawno musiałem napisać kod w drodze, a kiedy uruchomiłem gem server, przypomniałem sobie, że miałem je w sobie $HOME/.gemrci naprawdę mnie zabiło ... Google nie zawsze tam jest.
— atmosferax

7
Zależy od kontekstu. To świetny pomysł, jeśli możesz uwiązać lub robisz to na serwerze, który nie potrzebuje dokumentacji klejnotów.
— Sir-Pinecone

3
z pry można użyć show-sourcejako alternatywy dla generowanych dokumentów. Wyświetli wbudowane komentarze, które i tak generalnie mają taką samą treść jak ri / rdoc.
— max pleaner

Odpowiedzi:


1221

Po prostu dodajesz następujący wiersz do ~/.gemrcpliku lokalnego (znajduje się on w folderze domowym ):

gem: --no-document

lub możesz dodać ten wiersz do globalnego gemrcpliku konfiguracyjnego.

Oto jak to znaleźć (w systemie Linux):

strace gem source 2>&1 | grep gemrc

2
W każdym razie, aby ustawić go jako domyślny dla całego systemu bez edytowania / etc / skel i katalogu domowego każdego użytkownika?
— Hackeron 13.01.11

41
proszę bardzo / etc / gemrc
— Jirapong

3
/ etc / gemrc nie działało dla mnie, ale .gemrc zadziałało. Zastanawiam się, czy jest to specyficzne dla RVM, że nie odczytuje systemu GemRC?
— wjl

5
Odpowiedź @ gdelfino jest najmniej natrętna
— Ryan

4
przestarzałe - proszę zobaczyć moją odpowiedź
— James Lim

492

Z dokumentacji RVM :

Po prostu dodaj ten wiersz do swojego ~/.gemrclub /etc/gemrc:

gem: --no-document

Uwaga: oryginalna odpowiedź brzmiała:

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

To nie jest już ważne; Dokumenty RVM zostały odtąd zaktualizowane, dlatego aktualna odpowiedź, która obejmuje tylko gemdyrektywę, jest poprawna.


12
Od wersji RubyGems 2.0.0preview2 możesz zamiast tego używać --no-documentlub --document=rdoctylko rdoc.
— iono

3
Nie zgadzam się z edycją @ mpapis w dniu 20 czerwca 2013 r. Całkowicie zmienił tę odpowiedź i było wielu ludzi, którzy głosowali na nią, ponieważ uważali, że jest lepsza niż zaakceptowana odpowiedź. Osoba, która opublikowała tę odpowiedź, wyraźnie napisała, że ​​nie chce dodawać tych dwóch opcji do każdego polecenia klejnotu, ponieważ łamie to niektóre polecenia. Zanim @mpapis całkowicie zmieniła odpowiedź, kod w odpowiedzi brzmiał: install: --no-rdoc --no-ri\nupdate: --no-rdoc --no-ri @mpapis, dlaczego zmieniłeś dokumentację RVM, a także zmieniłeś tę odpowiedź?
— David Grayson

1
ponieważ to prawda, nie ma powodu, aby utrzymywać dwie osobne linie, śledzenie zgodności wielu projektów jest trudne - a dokumenty RVM są czasami aktualizowane, gdy stwierdzimy, że coś jest nie tak - jak w tym przypadku nie jest prawdą, że rubygemy zachowuj się źle, wszystko jest w porządku używać gem:zamiast dwóch osobnych wpisów.
— mpapis

3
Służy ruby -e "require 'etc';puts Etc.sysconfdir"do określania ścieżki do gemrcpliku konfiguracyjnego.
— Michael Mims


185

Należy pamiętać, że --no-rii --no-rdocbyły przestarzałe według nowych przewodników . Zalecanym sposobem jest użycie --no-documentw ~/.gemrclub /etc/gemrc.

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

lub

gem: --no-document

91

W systemie Linux (i prawdopodobnie Mac):

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

Ta jedna linijka była kiedyś w komentarzach, ale jakoś zniknęła.


11
Powinieneś użyć, >>jeśli użytkownik ma już ~/.gemrc.
— nickgrim

Czy jest jakaś różnica między tym echo 'gem: --no-doc --no-ri' >> ~/.gemrca tym, który napisałeś, czy oba mają taki sam efekt?
— ltdev

2
@Lykos --no-doc --no-rijest przestarzałe (patrz: guide.rubygems.org/command-reference/#gem_install, aby uzyskać opcje)
— 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/


Dzięki za ten przykład, idealny, aby pomóc mi usunąć osadzony Ruby, który w pewnym momencie skopiowałem i wkleiłem, a następnie spowodował błędy psychiczne podczas instalacji RubyGems 1.8.10 pod Ruby 1.9.2.
— stevenhaddox

17
Nie publikuj odpowiedzi „pierwszy wynik w Google”. Pierwszy wynik w Google pokazuje teraz twoją odpowiedź, udowadniając, dlaczego nie powinieneś tego robić. Dziękuję oczywiście za odpowiedź.
— wjl

26
W rzeczywistości „pierwszy wynik w Google” pokazuje: „„ pierwszy wynik w Google ”pokazuje:„ ”pierwszy wynik w Google” pokazuje: „” ... BŁĄD: Przepełnienie stosu.
— Félix Saparelli

Muszę dodać moje podziękowania za komentarz Steve'a (powyżej). Wyciągałem włosy, dlaczego nie mogłem zainstalować najnowszych RubyGemów. Okazało się, że miałem również zniekształcony plik .gemrc. Wciąż otrzymywałem ten błąd: ../.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/psych.rb:148:in `parse ': nie mogłem parsować YAML w wierszu 2 kolumny 10 ( Psych :: SyntaxError)
— wchrisjohnson

33

W systemie Windows XP ścieżka do pliku .gemrc to

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

i ten plik nie jest tworzony domyślnie, powinieneś go utworzyć samodzielnie.


20
W systemie Windows 7 jest to C: \ ProgramData \ gemrc
— Viachaslau Tysianchuk

lokalizacja win7 działa w systemie Windows 200. Upewnij się również, że masz opcję „Ukryj rozszerzenia znanych typów plików”, ponieważ nie będzie ona pobierać gemrc.txt .... facepalm
— jtzero

16

Oneliner dla użytkowników systemu Windows 7:

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



6

Jak wspomniano powyżej, umieść gem: --no-documentw swoim pliku klejnotów. Jednak systemowy gemrc nie zawsze będzie konieczny /etc/gemrc. Jeśli używasz RVM lub masz zainstalowany Ruby pod /usr/local/bin, musi on być w innej lokalizacji. Możesz znaleźć tę lokalizację, uruchamiając irbi wpisując ...

require 'rubygems'
Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE

Zobacz oryginalny post na ten temat tutaj .


1
Oneliner:ruby -rrubygems -e'puts Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE'
— Andrew Burns

5

Krok po kroku:

Aby utworzyć / edytować plik .gemrc z terminala:

vi  ~/.gemrc

Otworzysz edytor o nazwie vi. wklej:

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

kliknij przycisk „esc”.

Wpisz:

:exit

Za pomocą tego polecenia możesz sprawdzić, czy wszystko jest w porządku:

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit ~/.gemrc

2
Aby wyjaśnić, to ostatnie polecenie jest specyficzne dla OS X. Otwiera ~/.gemrcplik w edytorze tekstów.
— Martijn Heemels

1
~ reprezentuje katalog domowy. (następujące czapki to zmienne środowiskowe) Kolejność sprawdzania katalogów dla .gemrc: 1. Użyj HOME, jeśli jest zdefiniowane. 2. Użyj USERPROFILE, jeśli jest zdefiniowane. 3. Użyj HOMEDRIVE i HOMEPATH razem, jeśli są zdefiniowane. 4. Użyj ścieżki, którą uzyskasz, rozwijając Ruby „~”. 5. Użyj „C: /”, jeśli korzystasz z komputera z systemem Windows. To znaczy na: docs.rubygems.org/read/chapter/12
— Gary S. Weaver

Nie musisz sudoedytować własnego użytkownika ~/.gemrc.
— jbbuckley

5

W Windows7 plik .gemrc nie jest obecny, możesz pozwolić Ruby stworzyć taki jak ten (nie jest to łatwe w Eksploratorze).

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

Będziesz musiał potwierdzić (to niebezpieczne). Teraz plik jest tworzony w folderze profilu użytkownika (c: \ users \)

Możesz edytować plik tekstowy, aby usunąć dodane źródło lub możesz go usunąć za pomocą

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

3

Dla użytkowników systemu Windows Ruby nie konfiguruje pliku .gemrc. Musisz więc utworzyć plik .gemrc w swoim katalogu domowym ( echo %USERPROFILE%) i wstawić w nim następujący wiersz:

gem: --no-document

Jak już wspomniano w poprzednich odpowiedziach, nie używaj opcji --no-ri i --no-rdoc, ponieważ są one przestarzałe. Zobacz to sam:

gem help install
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.