2013-05-08 9 views
6

Podczas aktualizacji z Ruby 1.9.3 do Ruby 2.0 na Linuksie (co najmniej 12.04) pojawia się nieoczekiwany monit.Aktualizacja do Ruby 2.0, nadpisanie plików wykonywalnych bez podpowiedzi

Działa poprawnie, aby nadpisać go ręcznie, ale szukam sposobu, w jaki moje skrypty automatycznie odpowiedzą tak bez zatrzymania.

Właśnie znalazłem ten numer na rubygems from a year ago. Używam gem install w skrypcie więc myślę, że można łatwo dodać nieco yes | gem install

Edit: Tried yes | gem install rdoc ale nie jest on z:

ERROR: Error installing rdoc: 
"rdoc" from rdoc conflicts with /usr/local/rubies/2.0.0-p0/bin/rdoc 
+2

'tak | the-command' chociaż jestem pewien, że jest o wiele lepszy sposób. Jakiego polecenia używasz do aktualizacji? – adamdunson

+0

Mając ten sam problem w pliku Dockerfile. 'tak | the-command' nie działa dla mnie ... – rwb

+0

W końcu znalazłem sposób, który nie wymagał tej instalacji. – ScotterC

Odpowiedz

3

można poprzedzić

yes | 

tak po prostu Wchodzi raz za razem, co zostaje doprowadzone do standardowego wejścia.

(dzięki @adamdunson)

+1

'<' działa tylko z plikami. PO musiałby poprzedzić 'tak |'. – adamdunson

0

faktycznie, nie powinno się powiedzieć tak. This is currently a bug right now for Ruby 2.0. Moja własna poprawka (z którą w każdym razie idę, nawet jeśli to nie jest problem!) Jest użycie handlarza gemsetów (używam rbenv-gemset, teraz z rbenv).

1

Dla mnie z Ubuntu i Ruby 2.0 tak | rozwiązanie poprzedzające, jak opisano powyżej, NIE działa tak, jak opisano w moim zautomatyzowanym budowaniu skryptu (za pomocą posypania klejnotem).

W związku z tym dodałem krok do skryptu kompilacji, aby zmienić nazwę (w moim przypadku)/usr/local/bin/rdoc i/usr/local/bin/ri przed wykonaniem instalacji.

W konsekwencji instalacja odtwarza te pliki bez brzydkiego pytania, czego po prostu nie mogłem uniknąć. Osobiście uważam, że sugestia pod adresem https://github.com/rubygems/rubygems/pull/280 jest dobra, chociaż nie wydaje się, że została przyjęta przez społeczność z otwartymi ramionami.

Moje rozwiązanie jest nieco prostackie, ale może pomóc innym, dopóki nie pojawi się bardziej elegancka poprawka.

+0

Miałem ten sam problem z moimi skryptami Sprinkle, Twoja sugestia działała dla mnie. Thx – SupaIrish

1

--force pracował dla mnie:

gem install --force rdoc

Uwaga: nie jest to co --force jest, a ja nie wiem dlaczego yes | nie działa.

+0

mimo że nie mówisz, czy wybrać "tak" czy "nie" [yN] ", wybrałem" N ". Wynik: 'BŁĄD: Błąd podczas instalowania programu rdoc: " rdoc "z konfliktów rdoc z C:/Ruby24-x64/bin/rdoc' _ (instalacja trwa i kończy się.) _ Następnie ** na mój monit użytkownika, wpisałem twoja poprawka **: 'C: \ Users \ Owner> gem install --force rdoc Pomyślnie zainstalowano program rdoc-5.1.0 Analiza składni dla rdoc-5.1.0 Instalacja dokumentacji ri dla rdoc-5.1.0 Sporządzono dokumentację dla rdoc po 15 sekundach 1 klej zainstalowany "Tak wierzę, że zadziałało :) – Chris22

Powiązane problemy