Очистить старые ссылки в Ruby Version Manager (RVM) - PullRequest
10 голосов
/ 02 июня 2011

Мне нужно освободить дисковое пространство на моем локальном компьютере, которое почти выделено в моем каталоге 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* старые и система рвм "ничего не вернуть)? Буду ли я использовать команду "rm" или в RVM есть команды для очистки? Возможна ли очистка кеша dir?

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

Ответы [ 2 ]

18 голосов
/ 02 июня 2011

Полагаю, что rvm cleanup может помочь.

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

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

2 голосов
/ 02 июня 2011

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

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

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

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

...