VagrantとChefでnode.jsの開発環境を構築してみます。
Berksfileにrecipe[npm]を追加するとエラーになってしまうようです。
環境:MacOSX 10.9.5
Chefをインストール
Development Kitでインストールする。
まず、https://downloads.getchef.com/chef-dk からpkgをダウンロードして、インストールする。
chef-dkに入っているのrubyへのパスを通す
echo 'eval "$(chef shell-init bash)"' >> ~/.bash_profile
source ~/.bash_profile
knife-soloをインストール
$ sudo chef gem install knife-solo
knifeの初期設定をする
$ knife configure
設定は全てデフォルトでOK
BerkshelfでVagrantとCookBookを用意する。
$ berks cookbook {{ディレクトリ名}}
$ cd {{ディレクトリ名}}
$ bundle install
##Berksfileを編集する
source "https://supermarket.chef.io"
metadata
cookbook 'nginx'
cookbook 'mongodb'
cookbook 'nodejs'
cookbook 'forever'
cookbook 'git'
##Vagrantプラグインをインストール
$ vagrant plugin install vagrant-berkshelf
$ vagrant plugin install vagrant-omnibus
##Vagrantfileでboxを指定する
config.vm.box = '{{box名}}'
##Vagrantfileにrecipeを追加する
chef.run_list = [
'recipe[ubuntu::default]',
'recipe[nginx]',
'recipe[nodejs]',
'recipe[mongodb]',
'recipe[forever]',
'recipe[git]'
]
##Vagrantを起動
$ vagrant up --provision
##参考記事