Vagrantfile不尊重使用Chef进行配置的nginx版本

时间:2012-06-06 14:41:36

标签: nginx chef vagrant

开始使用Vagrant进行一些Rails开发。一步一步,所以我首先尝试通过vagrant文​​件中的Chef配方安装nginx。但是,当我将Vagrantfile中的nginx版本设置为1.20.0时,Vagrant似乎无法识别它并继续安装版本1.1.19

我将完成所有步骤,以确保我没有遗漏任何东西。

我有一个目录结构:

--vagrant_boxes
  --cookbooks
  --vagrant_box1

我通过刀从opscode下载了nginx食谱。

knife cookbook site install nginx

这将nginx及其依赖项安装到我的cookbooks目录中。

然后我在vagrant_box1

中创建了一个新框
vagrant init precise64

并编辑了Vagrant文​​件以阅读

config.vm.provision :chef_solo do |chef|
  chef.cookbooks_path = "../cookbooks"
  chef.add_recipe "nginx"
  chef.json = { :nginx => { :version => "1.2.0" } }
end

我跑vagrant up,然后vagrant ssh

在Vagrant框中,nginx -v给了我nginx version: nginx/1.1.19。这不是我想要的。我想了解Vagrant和厨师,所以非常感谢任何帮助!

1 个答案:

答案 0 :(得分:4)

IIRC版本属性仅适用于nginx :: source配方。所以而不是:

chef.add_recipe "nginx"

尝试:

chef.add_recipe "nginx::source"

然后应安装正确的版本