QA@IT

rbenvを使ってRubyをインストールする方法

2851 PV

一応、自分で調べてブログに書きました。

Chefでrbenvを使ってRubyをインストールする

が、こんなことをせずとも、もっと綺麗な方法があるはず(あって欲しい)と思うのですが、
何かご存知の方がいらっしゃったらぜひ教えてください。

Chefって、何かをインストールして設定するだけなら簡単ですが、
インストールした後、そのインストールしたもの(ここではrbenv)を使って
何かしようとする(ここではRubyのインストール)と途端に大変になる気がします。
こういうことって、本来、Chefですべきことではない感じなんでしょうか?

回答

が、こんなことをせずとも、もっと綺麗な方法があるはず(あって欲しい)と思うのですが、
何かご存知の方がいらっしゃったらぜひ教えてください。

自分で Cookbook 作るならだいたいこんなところでは、という印象です。
私なら rbenv.sh を作らずに、環境変数を渡すようにしますが、ほとんど好みのレベルですね。

サードパーティの Cookbook を使ってもよいのであれば、RiotGames/rbenv-cookbook を使うと楽です (下記は Berkshelf 使った例です)。

# Berksfile
site :opscode
cookbook "rbenv"
$ berks install
# site-cookbooks/foo/metadata.rb
depends 'rbenv'
# site-cookbooks/foo/recipes/default.rb
include_recipe "rbenv::default"
include_recipe "rbenv::ruby_build"
rbenv_ruby "2.1.0" # rbenv install 2.1.0
rbenv_gem "bundler" do # rbenv local 2.1.0 && gem install bundler
  ruby_version "2.1.0"
end
編集 履歴 (0)
  • うーん、サードパーティのCookbookを使った方が楽なようですね。Chefのレシピは極力自分ですべて実装したいと思っていたんですが、ある程度複雑なことをする場合、今後はサードパーティのCookbookを試してみようと思います。ありがとうございました。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。