Sembra che Ruby 2.0.0 ha aggiunto gemme "default" per il mix e li rende non rimovibile da gemma di disinstallazione.Disinstallare tutte le gemme del rubino 2.0.0
Come si può rimuovere tutte le gemme non predefinite?
Sembra che Ruby 2.0.0 ha aggiunto gemme "default" per il mix e li rende non rimovibile da gemma di disinstallazione.Disinstallare tutte le gemme del rubino 2.0.0
Come si può rimuovere tutte le gemme non predefinite?
Ho usato questo script a una riga.
for i in `gem list --no-versions`; do gem uninstall -aIx $i; done
Ignora gli errori gem default e procede. Semplice ed evidente.
Questa è una soluzione più semplice per questo problema, supponendo che rubygems continui a funzionare in questo modo :) –
Bel lavoro! Non si vedono molti comandi di shell temporizzati pubblicati usando un ciclo. –
Non funziona.ancora ottenere 'non può essere disinstallato perché è un errore gem default'. – Nippysaurus
Ho scritto uno script in Ruby per rimuovere tutte le gemme non predefinite.
https://gist.github.com/nixpulvis/5042764
Ciò è necessario ora, perché a differenza di prima 2.0.0 alcune gemme sono classificati come "default" con l'installazione di rubino, e non può essere disinstallato con gem uninstall
. Ciò rende i metodi precedentemente popolari per l'eliminazione di tutte le gemme non funzionanti.
Per avere un riferimento qui è.
gem list | cut -d" " -f1 | xargs gem uninstall
Il link fornito non esiste più. "OH NOES, 404". Esiste da qualche altra parte questo script esiste, o è la linea "per riferimento" l'intero script? –
Grazie. Ho cambiato il mio nome utente. L'URL è fisso. –
questo si blocca per le gemme predefinite – brauliobo
In primo luogo, andare alla directory gemme Come ../ruby/2.0.0-p195/lib/ruby/gems/2.0.0/specifications
troverete una directory di nome predefinita, che compreso tutto le gemme di default forniti con rubino 2.0
spostare tutti i * .gemspec memorizzato in predefinita dir a specifiche dir e rimuovere il vuoto predefinita dir.
Poi si può fare quello che vuoi come vecchi giorni :-)
Qual è la directory delle specifiche usata per ora? Presumo nel percorso di carico? –
non ho ancora trovato una risposta migliore di escludere i "default" gemme:.
/usr/local/bin/gem list --no-versions | \
grep -v -E "(bigdecimal|io-console|json|minitest|psych|rake|rdoc|test-unit)" | \
xargs --no-run-if-empty /usr/local/bin/gem uninstall --executables --user-install --all --force
Questo codice presuppone l'installazione di Ruby 2.0 dal sorgente su Linux. – Kevin
Si può fornire esempio di gemme e come si è installato rubino 2.0 (manualmente? 'rvm'?) –
ho usato rbenv installare ruby 2.0.0-p0. Gemme che sono "default" almeno per me sono: BigDecimal 1.2.0, io-console 0.4.2, 1.7.7 JSON, Minitest 4.3.2, 2.0.0 psych, rastrello 0.9.6, 4.0.0 rdoc, prova -unità 2.0.0.0. Gli errori 'gem uninstall json' con gem" json "non possono essere disinstallati perché sono una gemma predefinita. –
Mi spiace, incompreso. Non elimino mai le gemme, non sono sicuro che lo farebbero. Perché hai bisogno di qualcosa di diverso da "gem cleanup"? –