最近、Ruby1.9.1 経由の apt-get からではなく、rbenv 経由で Ruby をインストールするように Ansible デプロイメントを切り替えることにしました。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
この Playbook パーツへの上位レベルの呼び出しに設定しましたsudo
。"yes"
ですから、なぜつまずくのかわかりません。また、Ansible に使用したのと同じユーザーでログインし、そのディレクトリに移動して、この gem をインストールすることもできます。
apt-get を使用して ruby1.9.1 をインストールしたときは問題なく動作していました。何か案は?
Ubuntu 13.04
ちなみに、これはサーバーにデプロイされます。
詳しくは:
どうやら、s3cp でつまずくだけではないようです。それをスキップして、別のコマンドに進み、バンドラーをインストールしました。このコマンドも機能しませんでした (同様に失敗しました)。rbenv ルビと競合するデフォルトのルビがあるかどうか疑問に思っています (ただし、which ruby
ssh を実行すると、期待される rbenv ディレクトリが生成されます)。
詳細情報:
代わりに rvm 経由で ruby をインストールしようとしました。同じエラーが発生しました。:(