![rvm 不会恢复到系统 ruby](https://linux22.com/image/569836/rvm%20%E4%B8%8D%E4%BC%9A%E6%81%A2%E5%A4%8D%E5%88%B0%E7%B3%BB%E7%BB%9F%20ruby.png)
我会让 shell 日志自己解释一下:
root:~# rvm current
system
root:~# which ruby
/usr/bin/ruby
root:~# rvm use 1.9.2
Using /root/.rvm/gems/ruby-1.9.2-p290
root:~# rvm current
ruby-1.9.2-p290
root:~# which ruby
/root/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
root:~# rvm system
root:~# rvm current
system
root:~# which ruby
/root/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
root:~#
此时,如果 rvm 声称当前安装是“系统”,那么 ruby 不应该指向 /usr/bin/ruby 吗?
此外,有人能从高层次解释一下,当执行“rvm [version]”时会发生什么吗?其中 [version] 可能是“system”?我知道这会弄乱当前“ruby”、“gem”等指向的路径,但它是否在幕后做了其他事情?
答案1
这可能与旧版本的 rvm 有关,旧版本的 rvm 在use
出现故障时不会发出警告,而新版本的 RVM 会告诉您无法使用 ruby,因为 RVM 未作为函数加载。
另一点可能是系统 rubt 和默认 ruby 可能会发生冲突,即使您使其工作 - 它仍然会指向 rvm 默认 ruby 而不是系统。
最后 - 您已经为 root 安装了用户模式 rvm,这是 RVM 测试最少的用例,实际上甚至很难获得它,它可能是问题的原因。