【问题标题】:Install ruby with rbenv ansible使用 rbenv ansible 安装 ruby
【发布时间】:2015-04-21 14:42:12
【问题描述】:

我正在尝试在 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,类似。

【问题讨论】:

  • 在您的 PATH 中找不到 rbenv 二进制文件。您是否尝试过采购您的~/.bashrc(或您在其中声明rbenv init 的任何文件)?而且,你还记得安装rbenvgithub.com/sstephenson/rbenv#basic-github-checkout之后添加这些行吗?

标签: ruby ansible rbenv ansible-playbook


【解决方案1】:

看起来由于某种原因,命令 zsh -lc 没有正确加载 PATH 的值以包含 rbenv 命令,即使您在 .zshrc 中设置了它。

这有点小技巧,但我可以通过替换来运行 rbenv

command: zsh -lc "rbenv install {{ ruby_version }}"

command: zsh -lc "{{home_dir}}.rbenv/bin/rbenv install {{ ruby_version }}"

【讨论】:

    猜你喜欢
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多