2012-12-29 8 views
7

だから私は、次のコマンドを使用してベイグラントボックスを作成しました:バグのボックスにファイルをパッケージ化する方法は?

vagrant package --base box_name_here --vagrantfile Vagrantfile --include manifests/ 

manifests/がpuppetマニフェストおよびプロビジョニング・プロセス中に使用されるいくつかのファイルといくつかのサブディレクトリを含むディレクトリです。人形は、そのようなVagrantfileに呼ばれている:私はベイグラントが作成するパッケージ■はアーカイブを探索するとき

config.vm.provision :puppet do |puppet| 
    puppet.manifests_path = "manifests" 
    puppet.manifest_file = "web-dev.pp" 
end 

が、私は box_name_here.box/includes/manifestsにあるフォルダを参照してください。ただし、次のエラーで vagrant upダイス、私はそれを実行しよう:

ザ・は人形が存在しないために指定したパスを明示します。c:/浮浪者/

マニフェストはどこか別の場所にファイルがありますか?

私はこの記事を見ました:https://github.com/mitchellh/vagrant/issues/344

しかし、答えは少し不透明です。私は、マニフェストパスの問題にモジュールパスのレスポンスをどのように翻訳するのかよく分かりません。

ラインが

puppet.manifests_path = "./manifests" 

を読み取るように、私はvagrantfileを変更...しかし、それは問題を修正しませんでした。私はまだ同じエラーメッセージが表示されます。

答えて

7

いくつかの実験をした後、非常に明白な答えは次のとおりです。

puppet.manifests_path = File.expand_path("../manifests", __FILE__) 
関連する問題