web-dev-qa-db-ja.com

Vagrant "VM not created。"既存のVMからボックスを作成しようとすると

Precise32ボックスをインポートしてから、VMにいくつかのパッケージとその他のデータをインストールしました。私の計画は、それをボックスに再パッケージ化して、共有するときに複雑なプロビジョニングを節約することです。

しかしながら。

vagrant package --base dev-vm --output /box/vm.box

常に返す

[dev-vm] VM not created . Moving on

私のディレクトリ構造は次のとおりです。

-dev-vm
    --.vagrant
    --Logs
    --box.ovf
    --box-disk1.vmdk
    --dev-vm_13345342.vbpx
    --metadata.json
    --Vagrantfile

アイブ

 set VAGRANT_LOG=debug

これは、何が起こっているかに関する追加情報を表示しません。

Cygwinを使用するWindows 7

更新:

 export VAGRANT_LOG=debug

cygwinがデバッグログを設定します。

それから私は得る

 DEBUG subprocess: Waiting for process to exit. Remaining to timeout: 32000
 DEBUG subprocess: Exit status: 0
 INFO warden: Calling action: #<Vagrant::Action::Builtin::Call:0x2abb800>
 INFO runner: Running action: #<Vagrant::Action::Builder:0x2695920>
 INFO warden: Calling action: #<VagrantPlugins::ProviderVirtualBox::Action::Created:0x267c078>
 INFO runner: Running action: #<Vagrant::Action::Warden:0x2ac6c48>
 INFO warden: Calling action: #<VagrantPlugins::ProviderVirtualBox::Action::MessageNotCreated:0x2ac6c00>
 INFO interface: info: VM not created. Moving on...
49
Kiksy

ボックスをパッケージ化する場合、ボックス名はVirtualBoxから取得できる特定のマシン名である必要があります(例:lucid_1372711888)。 cmdで次のコマンドを実行するだけです:

vboxmanage list vms

「vboxmanage」を事前にPATH変数に追加する必要があることに注意してください。 here を参照してください。

また、仮想マシン名にスペースを含めることはできません。そうしないと、「vagrant package」コマンドで認識されません。例えば:

vagrant package --base win7_vbox_base --output win7_base.box #CORRECT
------------------------------------------------------------------------
vagrant package --base win7 vbox base --output win7_base.box #INCORRECT
77
bfitzpatrick

Vagrantfileを含むフォルダーにいる場合は、単に次を実行することもできます。

vagrant package --output your-box-name.box

次の画像は、このコマンドで作成された.boxファイルの内容を示しています。

Unpacket .box

8
Marco Altieri