Я позволю журналу оболочки объяснить себя:
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 [версия]», где [версия] может быть «системой»? Я понимаю, что он нарушает пути, на которые указывают текущие "рубин", "драгоценный камень" и т. Д., Но делает ли он что-то еще под покровом?
Это может быть связано со старой версией rvm, которая не выдавала предупреждения при use
был сломан, новые версии RVM сообщат вам, что вы не можете использовать ruby, потому что RVM не загружается как функция.
Другой момент может заключаться в том, что системный рубин и рубин по умолчанию могут конфликтовать, и даже если вы заставите его работать - он все равно будет указывать на рубин по умолчанию rvm вместо системы.
И последнее - вы установили пользовательский режим rvm для root, это наименее проверенный вариант использования RVM, на самом деле его даже трудно получить, это может быть причиной проблемы.