13

当我运行 vagrant up 时,会创建一个新的 virtualbox 机器,而不是运行.vagrant\machines\default\virtualbox\id. 然后将新虚拟机的 id 写入id文件。

我的虚拟机:

C:\Users\Chris>vboxmanage  list vms
"MyVM_1373377014" {177aef6c-b9ec-4a85-adad-76c70f80fa62}

下一个:

C:\Users\Chris>echo 177aef6c-b9ec-4a85-adad-76c70f80fa62 > .vagrant\machines\default\virtualbox\id

其次是:

C:\Users\Chris>vagrant up

产生一个新的虚拟机:

C:\Users\Chris>vboxmanage  list vms
"MyVM_1373377014" {177aef6c-b9ec-4a85-adad-76c70f80fa62}
"MyVM_1373566342" {4fedb342-cc0b-40fd-a8d1-403049065274}

并且id包含新的 VM id:

C:\Users\Chris>type .vagrant\machines\default\virtualbox\id
4fedb342-cc0b-40fd-a8d1-403049065274

因此,出于某种原因创建了一个新的 VM,而不是启动现有的 VM。

我正在运行 Vagrant 1.2.3 版

4

1 回答 1

16

确保没有在 ID 中添加换行符。因此,而不是这样:

echo "177aef6c-b9ec-4a85-adad-76c70f80fa62" > .vagrant/machines/default/virtualbox/id

我不得不这样做:

echo -n "177aef6c-b9ec-4a85-adad-76c70f80fa62" > .vagrant/machines/default/virtualbox/id

注意-n切换到 echo 命令。

资料来源:

于 2013-07-11T21:47:34.123 回答