Desinstalar versiones antiguas de gems ruby.

Tengo varias versiones de una gem de Ruby:

$ gem list rjb (1.3.4, 1.3.3, 1.1.9) 

¿Cómo puedo eliminar versiones antiguas pero mantener las más recientes?

 # 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' 

Para eliminar versiones anteriores de todas las gems instaladas, los siguientes 2 comandos son útiles:

  gem cleanup --dryrun 

El comando anterior mostrará una vista previa de las gems que se eliminarán.

  gem cleanup 

El comando anterior realmente los eliminará.

Intente algo como gem uninstall rjb --version 1.3.4 .

gem cleanup usa comandos del sistema. Las gems instaladas son solo directorios en el sistema de archivos. Si desea eliminar por lotes, utilice rm -R .

  1. gem environment y tenga en cuenta el valor de GEM PATHS
  2. cd /gems
  3. ls -1 |grep rjb- |xargs rm -R

Manera de limpiar cualquier versión antigua de gems.

 sudo gem cleanup 

Si solo desea ver una lista de lo que se eliminaría, puede utilizar:

 sudo gem cleanup -d 

También puedes limpiar solo una gem específica especificando su nombre:

 sudo gem cleanup gemname 

para eliminar la versión específica como 1.1.9 solamente

 gem uninstall gemname --version 1.1.9 

Si aún se enfrenta alguna excepción para instalar gem, como:

gem no válida: el paquete está dañado, excepción al verificar: método `tamaño ‘no definido para nil: NilClass (NoMethodError) en /home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6.6.2. joya

El, puedes eliminarlo de la caché:

 rm /home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6.6.2.gem 

Para más detalles:

http://blog.grepruby.com/2015/04/way-to-clean-up-gem-or-remove-old.html