Назад | Перейти на главную страницу

Как настроить rvmsudo с помощью chef?

Я использую поваренная книга 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 для общесистемной установки.