无法理解的VMware/Vagrant错误信息

5

我的公司在VMware中使用Vagrant进行开发。其他人(10+人)都能够顺利运行设置,但我遇到了一个令人困惑的问题,我们都无法解决。

在使用vagrant box add sgvm http://files.vagrantup.com/precise64_vmware.box添加vagrant box后,我尝试使用vagrant up seatgeek --provider=vmware_fusion启动vagrant。这会导致出现以下错误:

An error occurred while executing `vmrun`, a utility for controlling
VMware machines. The command and output are below:

Command: ["start", "/Users/jack/Sites/sg/seatgeek-vm/.vagrant/machines/seatgeek/vmware_fusion/f2e2bebf-e1cb-4bc1-862b-9cb957e13065/precise64.vmx", "nogui", {:notify=>[:stdout, :stderr]}]

Stdout: 2014-02-06T09:20:29.661| ServiceImpl_Opener: PID 20276
Error: The operation was canceled

Stderr:

我联系了VMware支持团队。他们说他们无法提供支持,但会确认vmrun是否正常工作。他们要求我运行vmrun -T fusion start并验证输出是否符合预期。根据这个结果,他们说这是一个Vagrant的问题。我已经试图联系Vagrant支持,但他们一直没有回复。
有人知道可能是什么原因导致这个问题吗?或者有其他我应该调查的事情吗?

当你说你尝试联系Vagrant支持时,是否在GitHub上记录了问题?如果没有,我建议您记录一个问题,并提供尽可能多的信息,例如Vagrant版本、主机操作系统版本等。您也可以将其链接到此帖子。 - Jeremy Quinton
感谢建议。我刚刚创建了一个问题 - Jack7890
1
我遇到了同样的问题。在Vagrant的GitHub上开了3273号问题。 - Michael Richmond
3个回答

4

当我试图将虚拟机的内存调高时,我遇到了这个问题。在达到一定限制后,Fusion甚至不会尝试调整。请查看下面我的块中的memsize行。

config.vm.provider 'vmware_fusion' do |provider, override|
  # provider.gui = true
  override.vm.box_url = 'http://files.vagrantup.com/precise64_vmware.box'
  provider.vmx['memsize'] = '3072'  # VMware refuses to start for anything larger
  provider.vmx['numvcpus'] = '1'    # http://superuser.com/q/505711/96477
end

3
升级 VMWare Workstation 后发生了这件事情——原来是因为它被阻塞在等待我输入新的许可证密钥上了 :) 启用 GUI 后打开了 VMWare Workstation 并弹出提示。 - bjori
我曾经遇到过类似的故障,错误信息更加无用,而根本问题是Hyper-V被激活了。在我的旧版Windows LTSC上,Hyper-V与VMware Workstation不兼容,必须关闭。当我这样做时,Vagrant就可以正常工作了。 - Lutz Prechelt

1

这个错误的另一个可能来源是虚拟机(vagrant box)的架构不正确。我在我的 M2 Mac 上无意中下载了一个 x86 架构的虚拟机,导致出现了这个错误。当我切换到使用一个 arm64 架构的虚拟机时,虚拟机就正常启动了。


0

屏幕截图

启用我的GUI并发现错误是由于VMWare版本与Mac M1不兼容造成的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接