ログってなんぼ

日々のメモです

chef-solo:rbenvのレシピを使ってRails環境を作る

BerskFileにrbenvのリポジトリを追加

cookbook 'rbenv', git: 'https://github.com/fnichol/chef-rbenv'

インストール

$ berks install
Resolving cookbook dependencies...
Fetching 'rbenv' from https://github.com/fnichol/chef-rbenv (at master)

レシピ

fnichol/chef-rbenv はてなブックマーク - fnichol/chef-rbenv
こちらを参考にレシピを書きます。

とりあえずこんな感じ

rbenvでruby2.1.3とbundler、Rails4.1.6を入れます。

"run_list":[
    "recipe[ruby_build]",
    "recipe[rbenv::user]"
    ],
    "rbenv": {
    "user_installs":
    [
        {
            "user": "okisanjp",
            "rubies": ["2.1.3"],
            "global": "2.1.3",
            "gems":  {
                "2.1.3":
                [
                    { "name": "bundler" },
                    { "name": "rails","version": "4.1.6"}
                ]
            }
        }
    ]
    }

確認

$ ruby --version;rails --version
ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-darwin13.0]
Rails 4.1.6

Railsが使えるか確認

$ sudo yum install sqlite-devel
$ gem update --system
$ rails new hoge
$ cd hoge
$ bundle install
$ rails s

起動エラー

$ rails s
/home/user/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/execjs-2.2.1/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)

あら・・・ランタイムエラーです

Gemfileに追記

gem 'therubyracer'

再度チャレンジ

$ bundle install
$ rails s

使えるようになりました。