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

#ruby #rvm #ruby-1.9 #ruby-1.9.2

#ruby #rvm #ruby-1.9 #ruby-1.9.2

Вопрос:

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

Теперь, кажется, у меня есть только одна версия ruby (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 * являются ли old и «rvm system» ничего не возвращающими)? Буду ли я использовать команду «rm», или есть команды, встроенные в RVM, для очистки лучшим способом? Возможно ли очистить каталог кэша?

Заранее спасибо. luca

Ответ №1:

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

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

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

Комментарии:

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

2. Я сделал это rvm cleanup all для того, чтобы удалить неиспользуемую версию ruby, 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, когда-либо установленных на моем компьютере.

Ответ №2:

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

 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:~$
  

затем я сделал резервную копию одной из старых «библиотек» (на всякий случай …):

 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
  

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

Я подожду пару дней, проверяя, все ли правильно…

Комментарии:

1. Все в порядке, теперь я могу удалить старые ruby-1.8.7-p302.gz . Спасибо stuartc