2014-09-29 140 views
4

我有一个成功安装rvm的剧本。但是现在我必须更改默认的ruby版本。我有尝试:改变rvm ruby​​版本与ansible剧本

- name: Install Bundler 
    command: bash -lc "rvm use 2.1.2-p95" 

- name: use 2.1 
    shell: /usr/bin/env bash -lc "rvm use 2.1.2-p95" 

- name: use 2.1 
    shell: rvm use 2.1.2-p95 

但没有ansible看起来像所有工作正常,但当我登录SSH具有相同的用户至极使用ansible和运行rvm current红宝石版本是一样的。

我怀疑从ssh和bash登录shell但我可以看到解决方案。

回答

6

尝试:

- name: Install Bundler 
    command: rvm alias create default ruby-2.1.2-p95 

BTW。你看过RVMs对Ansible的支持吗:https://github.com/rvm/rvm1-ansible

+0

很好用!你能解释为什么你的解决方案有效吗 – neo0 2016-01-17 06:08:58

+2

它的工作原理是因为ansible是不同的会话,当你登录时,RVm会尝试找到默认的ruby并加载它,如果它没有被定义 - 那么你什么也得不到 – mpapis 2016-01-28 22:48:29