Я использую поваренная книга chef-rvm от fnichol для выполнения общесистемной установки Ruby через RVM с помощью rvm :: system рецепта. Т.е. В моем списке запусков у меня (без дополнительных атрибутов):
recipe[rvm::system]
После того, как я готовлю свой сервер ubuntu, все работает нормально как обычный пользователь. т.е.
$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
Однако, похоже, что rvmsudo не сохраняет среду RVM и не передает ее в sudo. Я получаю следующую ошибку:
$ rvmsudo ruby -v
sudo: ruby: command not found
Как мне использовать chef для настройки моей среды, чтобы rvmsudo имел доступ к среде ruby / gem?
Похоже, это проблема самой текущей версии RVM (1.17.0), принудительная установка более старой версии RVM решает проблему. Я сделал это, установив следующие атрибуты:
node['rvm']['version'] = "1.16.13"
node['rvm']['branch'] = "none"
Вы установили рубин только для своего пользователя. Вы должны использовать rvm :: system_install для общесистемной установки.