2013-05-08 8 views
6

Durante l'aggiornamento da Ruby 1.9.3 a Ruby 2.0 su Linux (almeno 12.04) viene visualizzato un prompt imprevisto.Aggiornamento a Ruby 2.0, sovrascrivi gli eseguibili senza prompt

rdoc's executable "rdoc" conflicts with /path/bin/rdoc 
Overwrite the executable? [yN] 

Funziona bene per sovrascrivere manualmente ma sto cercando un modo che i miei script risponderà automaticamente sì senza arresto.

Appena trovato questo problema su rubygems from a year ago. Sto utilizzando gem install in uno script così penso di poter in qualche modo aggiungere facilmente yes | gem install

Edit: provato yes | gem install rdoc ma non riesce con:

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

'sì | the-command' anche se sono sicuro che c'è un modo molto migliore. Quale comando stai usando per l'aggiornamento? – adamdunson

+0

Avere lo stesso problema in un Dockerfile. 'si | the-command' non funziona per me ... – rwb

+0

Alla fine ho trovato un modo per aggirare ciò che non richiedeva questa installazione. – ScotterC

risposta

3

È possibile anteporre

yes | 

sì proprio entra ancora e ancora, che viene convogliato all'input standard.

(grazie @adamdunson)

+1

'<' funziona solo con i file. OP dovrebbe anteporre "sì |". – adamdunson

0

in realtà, non si dovrebbe dire di sì. This is currently a bug right now for Ruby 2.0. La mia correzione personale (che comunque vado, anche se questo non è un problema!) È di usare un gestore di gemset (sto usando rbenv-gemset, con rbenv adesso).

1

Per me con Ubuntu e Ruby 2.0 il sì | la soluzione prepend come descritto sopra NON funzionava come descritto nel mio script di compilazione automatico (usando gemma sprinkle).

Ho quindi aggiunto un passaggio allo script di build per rinominare (nel mio caso)/usr/local/bin/rdoc e/usr/local/bin/ri prima che venga eseguita l'installazione.

Di conseguenza, l'installazione ricrea questi file senza il fastidioso prompt che in qualche modo non riuscivo a evitare. Personalmente penso che il suggerimento allo https://github.com/rubygems/rubygems/pull/280 sia buono, anche se questo non sembra essere stato abbracciato dalla comunità a braccia aperte.

La mia soluzione è una soluzione un po 'approssimativa, ma può aiutare gli altri fino a quando non c'è una soluzione più elegante.

+0

Aveva lo stesso problema con gli script di Sprinkle, il tuo suggerimento ha funzionato per me. Thx – SupaIrish

1

--force ha lavorato per me:

gem install --force rdoc

Esonero di responsabilità: questo non è ciò che è per --force, e io non so perché yes | non funziona.

+0

sebbene tu non dica se scegliere "sì" o "no" '[yN]', ho scelto 'N'. Risultato: 'ERRORE: Errore durante l'installazione di rdoc: " rdoc "da conflitti rdoc con C:/Ruby24-x64/bin/rdoc' _ (l'installazione continua e termina.) _ Quindi ** al prompt dell'utente, ho digitato la tua correzione **: 'C: \ Users \ Owner> gem install --force rdoc Installato con successo rdoc-5.1.0 Documentazione di analisi per rdoc-5.1.0 Installazione documentazione di ri per rdoc-5.1.0 Terminata l'installazione della documentazione per rdoc dopo 15 secondi 1 gem installato. Quindi credo che abbia funzionato :) – Chris22

Problemi correlati