先日AnsibleでRubyをソースからインストールする手順を書きました。
-> AnsibleからRubyをバージョン指定してインストールするだけのPlaybook
そこで「ソースから直接インストールするよりもrbenvでインストールした方が良い」との指摘をいただいたので、その通りに直してみました。OSは前回と同じくCentOS6.5です。
手順
.bashrcに下記を追記する。
.bashrc
export PATH="$HOME/.rbenv/bin:$PATH"
export PATH="$HOME/.rbenv/shims:$PATH"
eval "$(rbenv init -)"
playbook.ymlを用意する。
playbook.yml
---
- hosts: 127.0.0.1
connection: local
sudo: yes
tasks:
# Rubyの依存パッケージをinstall
- yum: name={{item}} state=latest
with_items:
- gcc
- zlib-devel
- openssl-devel
- sqlite
- sqlite-devel
- mysql-devel
- libffi-devel
# Git install
- yum: name=git state=latest
# Rubyをrbenv経由でinstall
- git: >
repo=https://github.com/sstephenson/rbenv.git
dest=/home/vagrant/.rbenv/
- git: >
repo=https://github.com/sstephenson/ruby-build.git
dest=/home/vagrant/.rbenv/plugins/ruby-build/
- file: path=/home/vagrant/.rbenv owner=vagrant state=directory recurse=yes
- shell: rbenv install -v 2.1.5
sudo: no
- shell: rbenv rehash
sudo: no
- shell: rbenv global 2.1.5
sudo: no
# おまけに開発に必要なパッケージをinstall
- yum: name={{item}} state=latest
with_items:
- ruby-devel
- rubygems
あと $ ansible-playbook playbook.yml
を実行すればOK。
ほんとは.bashrcの修正もplaybookにまとめたかったのですが、Ansibleのクセというか、タイミングの問題で対応が面倒なので手動でやったほうが簡単に済みます。
poad1010さんご指摘ありがとうございました!