QA@IT
«回答へ戻る

回答を投稿

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

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

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

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

```ruby
# Berksfile
site :opscode
cookbook "rbenv"
```

```sh
$ berks install
```

```ruby
# site-cookbooks/foo/metadata.rb
depends 'rbenv'
```

```ruby
# 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
```