vagrant up没有在.vagrant\machines\default\virtualbox\id中启动vm

Chr*_*now 13 vagrant

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

我的VM:

C:\Users\Chris>vboxmanage  list vms
"MyVM_1373377014" {177aef6c-b9ec-4a85-adad-76c70f80fa62}
Run Code Online (Sandbox Code Playgroud)

下一个:

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

其次是:

C:\Users\Chris>vagrant up

新VM中的结果:

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

id包含新的VM ID:

C:\Users\Chris>type .vagrant\machines\default\virtualbox\id
4fedb342-cc0b-40fd-a8d1-403049065274
Run Code Online (Sandbox Code Playgroud)

因此,出于某种原因创建新VM而不是启动现有VM.

我正在运行Vagrant版本1.2.3

Chr*_*now 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命令.

资料来源: