Использование ansible с rvm и rvmrc

#ruby #rvm #ansible

#ruby #rvm #ansible

Вопрос:

Я пытаюсь установить ruby gem с помощью ansible. Я использую rvm для управления версиями. Удаленный каталог содержит файл rvmrc для настройки версии ruby и gemset. Однако при использовании модуля командной / командной оболочки ansible он по-прежнему использует версию ruby по умолчанию, а не ту, которая указана в файле rvmrc. Итак, мой вопрос в том, как я могу выполнить команду с правильной версией ruby / gemset?

Комментарии:

1. Вы уверены, что команда выполняется из домашнего каталога, в котором у вас находится файл rvmrc? Похоже, есть шанс, что это не так. Попробуйте вызвать команду для копирования rvmrc в /tmp и посмотрите, отображается ли она там.

2. Спасибо за ваш ответ, Брюс. Я использовал опцию chdir командного модуля. Каталог chdir содержит файл rvmrc. Я также использую bash -lc ‘<ruby_command>’ в качестве команды, но безуспешно.

Ответ №1:

Вы можете вызывать rvm напрямую следующим образом:

/usr/local/rvm/bin/rvm all do gem install ...

где all представляет все версии ruby, управляемые rvm (или вы можете указать версию напрямую).