Очистка старых ссылок в Ruby Version Manager (RVM)

Мне нужно освободить дисковое пространство на моем локальном компьютере, которое почти выделено в моем каталоге Ruby Version Manager (RVM).

Теперь, похоже, у меня есть только одна рубиновая версия (1.9.2p136):

lsoave@ubuntu:~/rails/github/gitwatcher$ ruby -v
ruby 1.9.2p136 (2010-12-25 revision 30365) [i686-linux]
lsoave@ubuntu:~/rails/github/gitwatcher$ 

lsoave@ubuntu:~/rails/github/gitwatcher$ rvm list
rvm rubies
=> ruby-1.9.2-p136 [ i386 ] 
lsoave@ubuntu:~/rails/github/gitwatcher$

lsoave@ubuntu:~/rails/github/gitwatcher$ which ruby
/home/lsoave/.rvm/rubies/ruby-1.9.2-p136/bin/ruby
lsoave@ubuntu:~/rails/github/gitwatcher$ 

но в моем каталоге RVM есть много других несвязанных каталогов/версий:

lsoave@ubuntu:~/rails/github/gitwatcher$ ls -la ~/.rvm/gems
total 72
drwxr-xr-x 18 lsoave lsoave 4096 2011-05-21 15:44 .
drwxr-xr-x 23 lsoave lsoave 4096 2011-02-10 22:46 ..
drwxr-xr-x  2 lsoave lsoave 4096 2010-08-29 19:50 cache
drwxr-xr-x  2 lsoave lsoave 4096 2010-08-31 21:50 jruby-1.3.7
drwxr-xr-x  2 lsoave lsoave 4096 2010-08-31 21:50 jruby-1.3.8
drwxr-xr-x  2 lsoave lsoave 4096 2011-05-21 15:44 ree-1.8.7-2010.02
drwxr-xr-x  8 lsoave lsoave 4096 2010-09-08 11:25 ruby-1.8.7-p302
drwxr-xr-x  7 lsoave lsoave 4096 2010-08-29 22:00 ruby-1.8.7-p302@global
drwxr-xr-x  7 lsoave lsoave 4096 2010-08-29 22:24 ruby-1.9.2-head
drwxr-xr-x  7 lsoave lsoave 4096 2010-08-29 22:24 ruby-1.9.2-head@global
drwxr-xr-x  8 lsoave lsoave 4096 2010-08-31 23:47 ruby-1.9.2-p0
drwxr-xr-x  7 lsoave lsoave 4096 2010-08-29 19:50 ruby-1.9.2-p0@global
drwxr-xr-x  8 lsoave lsoave 4096 2011-02-10 19:44 ruby-1.9.2-p136
drwxr-xr-x  7 lsoave lsoave 4096 2011-02-10 19:23 ruby-1.9.2-p136@global
drwxr-xr-x  7 lsoave lsoave 4096 2011-04-08 21:21 ruby-1.9.2-p136@greendog
drwxr-xr-x  7 lsoave lsoave 4096 2011-04-09 00:57 ruby-1.9.2-p136@greendog2
drwxr-xr-x  7 lsoave lsoave 4096 2011-02-15 00:09 ruby-1.9.2-p136@greendog99
drwxr-xr-x  2 lsoave lsoave 4096 2011-02-10 19:04 system
lsoave@ubuntu:~/rails/github/gitwatcher$

можно ли удалить все оставшиеся каталоги только с каталогами «ruby-1.9.2-p136» и «ruby-1.9.2-p136@global» (ruby-1.9.2-p136@greendog* старые, а «система rvm» ничего не вернуть)? Буду ли я использовать команду «rm» или есть встроенные команды RVM для лучшей очистки? Можно ли очистить кэш-память?

Заранее спасибо. Лука


person Luca G. Soave    schedule 02.06.2011    source источник


Ответы (2)


Я полагаю, что rvm cleanup мог бы помочь.

Кроме этого, я не вижу никаких причин для удаления фактических каталогов драгоценных камней внутри RVM, если они больше не связаны с RVM.

Если совпадающая запись не существует в environments, тогда безопасно удалить соответствующий каталог gem. Поскольку ничто другое не указывает на то, что RVM сможет использовать.

person stuartc    schedule 02.06.2011
comment
Если совпадающая запись не существует в environments, то можно безопасно удалить соответствующий каталог gem. Поскольку ничто другое не указывает на то, что RVM сможет использовать. - person stuartc; 02.06.2011
comment
Я сделал rvm cleanup all, чтобы удалить неиспользуемую рубиновую версию 1.9.3-p362. Он удалил почти все, но оставил каталоги .rvm/patches/ruby/1.9.3/p362 и .rvm/patchsets/ruby/1.9.3/p362. На самом деле каталоги .rvm/patches/ruby/ и .rvm/patchsets/ruby/ по-прежнему содержат подкаталоги для всех версий Ruby, когда-либо установленных на моей машине. - person Teemu Leisti; 16.12.2013

... оказывается, некоторые из предыдущих, неиспользуемых рефов, были просто гемсетами:

rvm gemset list
lsoave@ubuntu:~$ rvm gemset list

gemsets for ruby-1.9.2-p136 (found in /home/lsoave/.rvm/gems/ruby-1.9.2-p136)
global
greendog
greendog2
greendog99

lsoave@ubuntu:~$

который я удалил следующим образом:

lsoave@ubuntu:~$ rvm gemset delete greendog99
Are you SURE you wish to remove the entire gemset directory 'greendog99' (/home/lsoave/.rvm/gems/ruby-1.9.2-p136@greendog99)?
(anything other than 'yes' will cancel) > yes
lsoave@ubuntu:~$ rvm gemset delete greendog2
Are you SURE you wish to remove the entire gemset directory 'greendog2' (/home/lsoave/.rvm/gems/ruby-1.9.2-p136@greendog2)?
(anything other than 'yes' will cancel) > yes
lsoave@ubuntu:~$ rvm gemset delete greendog
Are you SURE you wish to remove the entire gemset directory 'greendog' (/home/lsoave/.rvm/gems/ruby-1.9.2-p136@greendog)?
(anything other than 'yes' will cancel) > yes
lsoave@ubuntu:~$

чем я сделал резервную копию одной из старых "lib" (на всякий случай...):

lsoave@ubuntu:~/.rvm/gems$ tar zcvf ruby-1.8.7-p302.gz ./ruby-1.8.7-p302

и удалил относительный каталог в качестве предыдущего комментария со stuartc:

lsoave@ubuntu:~/.rvm/gems$ rm -rf ./ruby-1.8.7-p302

теперь вернемся к работе.

Подожду пару дней, ищу все ли правильно...

person Luca G. Soave    schedule 02.06.2011
comment
Все в порядке, теперь я могу удалить старый ruby-1.8.7-p302.gz. Спасибо, Стюарт. - person Luca G. Soave; 03.06.2011