Vagrant boxの"chef/centos-6.5"にはChefがインストールされてないという事実

Vagrant Cloudで公開されている"chef/centos-6.5"というBoxがあります。
これを使っている事例をウェブ上でよく見かけます。

https://vagrantcloud.com/chef/boxes/centos-6.5

このBox、Chef社が提供してるBoxだから当然Chefがインストールされてると思うじゃないですか。
ところが予想に反してChefがインストールされていないのです!
なんと紛らわしい。

対処法

vagrant のomnibusプラグインを利用すれば、vagrant up時にChefをインストールすることができます。
omnibusプラグインのインストール
$ vagrant plugin install vagrant-omnibus
Vagrantfile
Vagrantfileに"config.omnibus.chef_version = :latest"を追記します。
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "chef/centos-6.5"
  config.omnibus.chef_version = :latest
end
ここから vagrant up(またはすでに起動してる場合は vagrant reload) すれば、仮想マシンにChefがインストールされます。
カテゴリ: