1

一部のRails開発でVagrantの使用を開始します。一度に1ステップずつ進むので、最初にvagrantファイルのChefレシピを介してnginxをインストールしようとしています。ただし、でnginxのバージョンをに設定しているVagrantfileのに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とシェフを理解したいので、どんな援助も大歓迎です!

4

1 に答える 1

4

IIRCのバージョン属性は、nginx::sourceレシピにのみ適用されます。したがって、代わりに:

chef.add_recipe "nginx"

試す:

chef.add_recipe "nginx::source"

次に、正しいバージョンをインストールする必要があります

于 2012-07-17T01:17:22.490 に答える