当试图从现有的虚拟机创build盒子时,Vagrant“虚拟机未创build”

我导入了精确的32盒,然后在虚拟机上安装了一些软件包和其他数据。 我的计划是将其重新打包成一个盒子,以便在分享时节省复杂的configuration。

然而。

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 

这显示没有额外的信息发生了什么事情。

Windows 7使用Cygwin

更新:

  export VAGRANT_LOG=debug 

为Cygwin设置debugging日志。

我然后得到

  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... 

打包一个盒子时,盒子名称必须是可以从VirtualBox获得的特定机器名称(例如lucid_1372711888 )。 只需在cmd中执行以下命令:

 vboxmanage list vms 

请注意,“vboxmanage”应事先添加到PATHvariables中。 看到这里如何做到这一点。

另请注意,虚拟主机名称不得包含空格。 否则不会被“stream浪包”命令所识别。 例如:

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

如果你在包含你的stream浪文件的文件夹中,你也可以简单地运行:

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

下图显示了使用此命令创build的.box文件的内容:

解包.box