ruby - 使用 rbenv ansible 安装 ruby

标签 ruby rbenv ansible

我正在尝试在 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/

相关文章:

ruby - 从 Ruby 脚本创建 Gist

javascript - 如何将静态 Assets 打包到 gem 中以便在 Sinatra 应用程序中使用?

handler - 如何编写具有多个任务的 Ansible 处理程序?

elasticsearch - 如何以非交互方式在 Elasticsearch 中启用 TLS?

ruby - 使用passenger-nginx和rbenv找不到nginx.conf

ansible - 在 Ansible 中打印调用者角色的角色名称

MacOS 上的 Ruby/IRB 环境问题

ruby-on-rails - 为什么我的主页链接试图将我带到 '/root_path' 而不是 '/' ?

ruby - rbenv ruby​​ 安装失败 ubuntu

ruby-on-rails - 由于缺少扩展名 : openssl, readline、zlib 编译错误,Ruby 安装中止