)

NomoLog

Log of my life and program

Vagrant & Chef

Posted in ServerBuilding Tagged as Chef, Vagrant

Vagrantを使う機会があったのでVagrant+Chef Soloでの開発環境構築をやってみました。

その時の備忘録です。

参考にしたのはここ。

基本的には上記リンクの手順に従っていきます。

で、個人的に詰まった所が以下。

早速vagraant upが動かん…

いきなりです。こんなことが許されるのでしょうか?

元々以前にVagrantとChefは触ったことがあって、それからOSをMarvericsにアップグレードしたことが原因でした。

解決策はこちら。

1
sudo launchctl load /Library/LaunchDaemons/org.virtualbox.startup.plist

Mac OS X Mavericks で Vagrant がこける時の対処法

Vagrant Cloud

そんなのができたのかー!

今まではVagrantbox.es(下画像)とかから欲しいboxをリストから探して、URLをいちいちコピってきて

vagrantcloud

1
vagrant box add <box_name> <url>

って形式でBOXを追加してたのが、

VagrantCouldから自分が欲しいBoxを検索(OS,VMWareかVirtualBoxか, Chefの有無など)して、

1
2
vagrant login <- cloudへ事前にログイン
vagrant box add <box_name>

でBoxの追加ができる。

気に入ったBoxをお気に入り登録したり、自分でBoxを作って公開もできる。

これはなかなかナイスですね^^

vagrantのboxをvagrant cloudからもらってくる

cannot load such file — hashie/hash_extensions

なにやらBerskshelfなるものがアツいということでBerkshelfを入れて、必要な設定を書いて、設定を反映さえるためにvagrant upしたところ

1
2
3
4
5
6
Vagrant failed to initialize at a very early stage:

The plugins failed to load properly. The error message given is
shown below.

cannot load such file -- hashie/hash_extensions

こんなエラーが。

Berkshelfのバージョンが古いことが原因のようです。

解決方法はこちらにある通り

1
vagrant plugin install vagrant-berkshelf --plugin-version '>=2.0.1'

でvagrant-berkshelfを入れなおしたところうまくいきました。

Vagrantfileのv1.0系後方互換モード

古い記事をそのまま参考にしててはまった。

上記エラー解決してvagrant up!したところ

1
2
3
4
5
Warnings:
* Unknown configuration section 'berkshelf'. If this section was part of
* a Vagrant 1.0.x plugin, note that 1.0.x plugins are incompatible with 1.1+.
* * Unknown configuration section 'omnibus'. If this section was part of
* a Vagrant 1.0.x plugin, note that 1.0.x plugins are incompatible with 1.1+.

このようなエラーがでてしまいました。

原因はVagrantfileで以下のように設定していたことです。

1
2
3
Vagrant::Config.run do |config|
  以下設定...
end

Vagrantのv.1.0系では上記のような書き方をしていましたが、これは古い書き方だそうです。 後方互換のために残っているようです。1.0x系向けのプラグインを設定するときなど。

正しくはこう。

1
2
3
Vagrant.configure("2") do |config|
 以下設定...
end

Vagrant::Config.runの書き方は古いので注意!!

まとめ

すごい手間取ってしまいましたが一応きちんと動くところまではいきました。

今度はChefをもっと使い倒してみたいです。

Posted in ServerBuilding Tagged as Chef, Vagrant

« post_urlでLiquid Exception Dotfiles »

Comments