#ruby-on-rails #ruby #ubuntu #rvm
#ruby-on-rails #ruby #ubuntu #rvm
Вопрос:
После того, как стал root (с su root), ruby автоматически возвращается к старой версии 1.9.2-p180. После выхода из root ruby автоматически возвращается к более новой версии, которая является 1.9.2-p290.
в системе установлен rvm, а p290 был установлен с помощью rvm. p180 был установлен с помощью apt-get.
Есть мысли? Спасибо.
Комментарии:
1. Если root использует системный ruby, то, возможно, вы инициализируете среду root для использования rvm?
Ответ №1:
Поскольку пользователь root имеет среду, отличную от вашего обычного пользователя, вы, вероятно, захотите использовать rvmsudo
ее всякий раз, когда используете rvm
в корневом контексте. Эта команда специально сохраняет версию Ruby, используемую в настоящее время.
Комментарии:
1. rvmsudo использует 1.9.2 —по умолчанию с ошибкой: команда rvmsudo не найдена.
2.
rvmsudo
то жеsudo
самое, что и приrvm
сохранении среды. Вы бы сделали:rvmsudo {command}
или в этом случаеrvmsudo rvm use 1.9.2 --default
3. rvmsudo rvm использует 1.9.2 — по умолчанию установил gem bundler как обычный пользователь (вместо root). Спасибо.
Ответ №2:
используйте .rvmc в корне каталога проекта с содержимым
rvm use ruby-<version>@<gemset>
У меня, например, установлен ruby-1.9.2-p290, и я создал gemset rails 311 для rail 3.1.1, поэтому содержимое моего файла .rvmc
rvm use ruby-1.9.2-p290@rails311
Ответ №3:
сначала проверьте, установлен ли rvm для всей системы или для конкретного пользователя. если он установлен для определенного пользователя, вы должны использовать системный ruby при использовании root. вы можете проверить это, введя rvm, находясь на root-пользователе
обычно rvm устанавливается для определенного пользователя.
Вам следует обновить системный ruby, если вы хотите использовать ruby 1.9.2-p290