如何对RVM进行清理(附代码)

322 阅读1分钟

我甚至不记得我最后一次运行rvm implode ,我估计我使用RVM已经三年了。

当然:我总是通过rvm get stable 来更新它,但我从来没有真正清理过旧的Rubys或gems,我只是不时地在每个软件库中运行bundle clean --force ,因为我并不总是使用bundle exec

无论如何,是时候看看它在macOS上通过rvm disk-usage all 占用了多少空间了:

  Downloaded Archives Usage: 1.3M
  Repositories Usage: 0B
  Extracted Source Code Usage: 5.2M
  Log Files Usage: 28K
  Packages Usage: 0B
  Rubies Usage: 298M
  Gemsets Usage: 11G
  Wrappers Usage: 212K
  Temporary Files Usage: 0B
  Other Files Usage: 5.6M
  Total Disk Usage: 11G

11GB的宝石、源码、缓存和各种附属品,哇,真不简单。让我们试着把它清理一下。

第一步

始终将RVM更新到其最新的稳定版本:

$ rvm get stable

第二步

与所有的Ruby版本共享gem缓存(注意这可能会带来一些微妙的bug,如果你像我一样喜欢编辑你的gem用于调试的话):

$ rvm gemset globalcache enable

第三步(注意破坏性)

运行kugaevsky的这个简单的脚本 ,进一步清理你的宝石。

注意:

这个过程有时可能破坏性太大,你可能需要在你的项目目录下运行'bundle'命令。

第四步

让RVM进行自我清理:

rvm cleanup 让你删除陈旧的源文件夹/档案和其他文件。

$ rvm cleanup all

注意:这将需要一些时间来完成。

结果

$ rvm 
  " .etc
  Total Disk Usage: 9.0G

还不错(让我们记住,我没有删除任何gemsets或Ruby安装,对于我的主要项目,我不需要在运行kugaevsky的脚本后运行bundle)。

Btw. 如果你使用虚拟机进行开发,你可以在之后尝试这个,以进一步减少其大小。