我正在尝试在 Ubuntu 14.04 上使用 ansible 引导一个 rails 开发环境,使用 rbenv 来处理管理 ruby 版本。我有一本可以成功完成各种工作的剧本,但我已经删除了 this gist 中的相关部分。
运行此任务时:
- name: Install ruby with rbenv
sudo_user: "{{ username }}"
#command: rbenv install {{ ruby_version }}
command: zsh -lc "rbenv install {{ ruby_version }}"
出现以下错误
failed: [localhost] => {"changed": true, "cmd": ["zsh", "-lc", "rbenv install 2.1.2"], "delta": "0:00:00.005791", "end": "2015-04-21 09:31:19.184810", "rc": 127, "start": "2015-04-21 09:31:19.179019"}
stderr: zsh:1: command not found: rbenv
之前的所有任务都成功了,包括得到 出于某种原因,在运行它时我得到一个错误,指出 rbenv 没有安装。
你可以看到我只使用“rbenv install”注释掉了,因为有人建议,因为 rbenv 依赖于你的某些东西在你的 .bashrc
(或 .zshrc
中我的情况)你需要用 shell 运行它。但这也不起作用。
我还尝试添加一个任务以使用 raw
模块重新启动我的 shell。我尝试使用 shell
而不是 command
运行。
Here's my zshrc以防万一。
我检查了this answer但他们刚刚提到了在新版本中使用“when”的问题。也没有人回答this question ,这很相似。
最佳答案
由于某种原因,命令 zsh -lc
似乎没有正确加载 PATH
的值以包含 rbenv
命令,即使尽管您在 .zshrc
中设置了它。
这有点 hack,但我能够通过替换来运行 rbenv
命令:zsh -lc "rbenv install {{ ruby_version }}"
与
命令:zsh -lc "{{home_dir}}.rbenv/bin/rbenv install {{ ruby_version }}"
关于ruby - 使用 rbenv ansible 安装 ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29775466/