rvm“默认”版本实现

rvm“默认”版本实现

根据官方网站(http://beginrescueend.com/rubies/default/),rvm 的“默认”设置控制“当你打开一个新的终端 shell”时加载的 ruby​​ 版本。

我想知道,rvm 究竟是如何实现此功能的?它似乎不是通过 .bash_profile/.bashrc(它们未经修改)。

这可能是因为我在 Windows 上使用 PuTTY 登录 Debian VPS(我认为不太可能),但每当我打开新的 PuTTY 登录 shell 时,都会发生以下情况:

root:~# rvm list default

Default Ruby (for new shells)

   ruby-1.9.2-p290 [ i386 ]

root:~# rvm current
system
root# which ruby
/usr/bin/ruby

这很有趣。它设法确定默认值应为 1.9.2,但实际上并未修改 rvm“当前”数据,也没有修改 ruby​​ 路径?

答案1

rvm 必须作为函数加载,PATH 中必须没有 rvm ruby

很可能你对第一部分有疑问,请阅读https://rvm.beginrescueend.com/support/faq/#shell_login有关详细信息,但运行此操作很可能会有所帮助:

rvm get head --auto

相关内容