【发布时间】:2014-03-04 14:15:35
【问题描述】:
我最近决定将我的 Ansible 部署切换为通过 rbenv 安装 Ruby,而不是通过 ruby1.9.1 从 apt-get 安装。现在我在尝试通过 Ansible 安装 gem 时遇到错误。
TASK: [nginx | s3cp gem] ******************************************************
failed: [staging.myapp.com] => {"cmd": ["/usr/local/bin", "query", "-n", "^s3cp$"], "failed": true, "item": "", "rc": 13}
msg: [Errno 13] Permission denied
FATAL: all hosts have already failed -- aborting
此命令的 Ansible playbook 条目:
- name: s3cp gem
gem: name=s3cp state=present executable=/usr/local/bin
我在对此剧本部分的更高级别调用中将sudo 设置为"yes"。所以我不确定它为什么会跳闸。我还可以使用用于 Ansible 的同一用户登录并导航到该目录并安装此 gem。
当我使用 apt-get 安装 ruby1.9.1 时,它工作正常。有什么想法吗?
顺便说一下,这已部署到Ubuntu 13.04 服务器。
更多信息:
显然它不仅仅是在 s3cp 上绊倒。我跳过了那个并继续执行另一个命令来安装捆绑程序。该命令也不起作用(以同样的方式失败)。我想知道是否存在与 rbenv ruby 冲突的默认 ruby(不过,which ruby 当 ssh'ed in 产生预期的 rbenv 目录时)。
更多信息:
我尝试通过 rvm 安装 ruby。我有同样的错误。 :(
【问题讨论】:
-
你找到解决办法了吗?