我最近决定将我的 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。我有同样的错误。:(