カテゴリー
Linux

【Ansible】rbenv でインストールした gem を使って bundler をインストールするコツ

ポイント

  • rbenv でインストールした gem を Ansible モジュールから使う場合は、executable に gem の場所を指定する。

失敗

最初に参考にした次のページのコードはダメでした><。

---
- name: Install bundler
  gem:
    name: bundler
    user_install: no
  environment:
    PATH: "/usr/local/rbenv/shims/gem"

上記のコードの場合、次のようなエラーとなりました。

TASK [ruby-sw : Install bundler] ***********************************************
fatal: [default]: FAILED! => {"changed": false, "failed": true, "msg": "Failed to find required executable gem"}
	to retry, use: --limit @/vagrant/ansible/site.retry

解決

次のページが解決の糸口となりました。参考になったのは、次の一文ですの。

Ansible 1.4からgemモジュールにexecutableオプションが追加されて、gemのパスを指定できるようになっています。

そこで、次のように書いたらエラーが解消されました!

---
- name: Install bundler
  gem:
    name: bundler
    user_install: no
    executable: /usr/local/rbenv/shims/gem

おわりに

全体を通して次のページが参考になりました!

以上です。

コメントを残す