![rvm“默认”版本实现](https://linux22.com/image/569827/rvm%E2%80%9C%E9%BB%98%E8%AE%A4%E2%80%9D%E7%89%88%E6%9C%AC%E5%AE%9E%E7%8E%B0.png)
根据官方网站(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