Ho diverse versioni di una gemma di Ruby:
$ gem list
rjb (1.3.4, 1.3.3, 1.1.9)
Come posso rimuovere le vecchie versioni ma mantenere le più recenti?
Ho diverse versioni di una gemma di Ruby:
$ gem list
rjb (1.3.4, 1.3.3, 1.1.9)
Come posso rimuovere le vecchie versioni ma mantenere le più recenti?
Risposte:
# remove all old versions of the gem
gem cleanup rjb
# choose which ones you want to remove
gem uninstall rjb
# remove version 1.1.9 only
gem uninstall rjb --version 1.1.9
# remove all versions less than 1.3.4
gem uninstall rjb --version '<1.3.4'
Per rimuovere le versioni precedenti di tutte le gemme installate, sono utili i seguenti 2 comandi:
gem cleanup --dryrun
Il comando sopra mostrerà in anteprima quali gemme verranno rimosse.
gem cleanup
Il comando sopra li rimuoverà effettivamente.
Prova qualcosa del genere gem uninstall rjb --version 1.3.4
.
Modo per ripulire eventuali vecchie versioni di gemme.
sudo gem cleanup
Se vuoi solo vedere un elenco di ciò che verrebbe rimosso puoi usare:
sudo gem cleanup -d
Puoi anche ripulire solo una gemma specifica specificandone il nome:
sudo gem cleanup gemname
per rimuovere solo versioni specifiche come 1.1.9
gem uninstall gemname --version 1.1.9
Se stai ancora affrontando un'eccezione per installare gem, come:
gemma non valida: il pacchetto è danneggiato, eccezione durante la verifica: metodo indefinito `size 'per zero: NilClass (NoMethodError) in /home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6.6.2. gemma
il, è possibile rimuoverlo dalla cache:
rm /home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6.6.2.gem
Per maggiori dettagli:
http://blog.grepruby.com/2015/04/way-to-clean-up-gem-or-remove-old.html
sudo
gem cleanup
usa i comandi di sistema. Le gemme installate sono solo directory nel filesystem. Se si desidera eliminare in batch, utilizzare rm -R
.
gem environment
e nota il valore di GEM PATHS
cd <your-gem-paths>/gems
ls -1 |grep rjb- |xargs rm -R
Potrebbe essere necessario impostare GEM_HOME
il funzionamento della pulizia. Puoi controllare quali percorsi esistono per i file gemm eseguendo:
gem env
Prendi nota della sezione GEM PATHS.
Nel mio caso, ad esempio, con gemme installate nella mia home page dell'utente:
export GEM_HOME="~/.gem/ruby/2.4.0"
gem cleanup