You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS M2 Pro(最新Ventura系统)下Vagrant up执行失败求助

MacOS M2 Pro(最新Ventura系统)下Vagrant up执行失败求助

兄弟,我刚在M2 Pro的Ventura系统上踩过完全一样的坑!折腾了小半天终于搞定,给你捋捋解决办法:

首先得搞懂为啥报错:你看到的「Invalid host type 'player' specified」是因为Vagrant默认试图用VMware Player的模式调用vmrun工具,但咱们装的是VMware Fusion,两者的host类型不匹配,自然就报错了。

下面是具体的修复步骤:

1. 确保VMware插件是最新适配版

Vagrant和VMware Fusion的交互全靠vagrant-vmware-desktop插件,先检查并更新到最新版:

# 先查看已安装插件
vagrant plugin list
# 如果插件不是最新,执行更新
vagrant plugin update vagrant-vmware-desktop
# 要是之前装过旧版本甚至其他VMware插件,先卸载再重装更稳妥
vagrant plugin uninstall vagrant-vmware-desktop && vagrant plugin install vagrant-vmware-desktop

2. 告诉Vagrant用Fusion模式运行

有两种方式可以实现,选一种就行:

方式一:临时设置环境变量(单次生效)

在你执行vagrant up的终端里先跑这行命令:

export VAGRANT_VMWARE_DESKTOP_USE_VMRUN_FUSION=1

之后再运行vagrant up就可以了。

方式二:修改Vagrantfile(永久生效)

直接在你的VMware provider配置块里添加一行指定host类型,修改后的Vagrantfile如下:

Vagrant.configure("2") do |config|
  config.vm.box = "bytesguy/ubuntu-server-20.04-arm64"
  config.vm.box_version = "1.0.0"
  config.vm.network "private_network", type: "dhcp"
  config.vm.network "public_network", bridge: "en1: Wi-Fi (AirPort)"

  config.vm.provider "vmware_desktop" do |vmware|
    # 新增这行,指定用Fusion作为host
    vmware.host = "fusion"
    vmware.gui = true
    vmware.cpus = 2
    vmware.vmx["ethernet0.virtualdev"] = "vmxnet3"
    vmware.ssh_info_public = true
    vmware.linked_clone = false
    vmware.allowlist_verified = true
  end
end

保存修改后,再执行vagrant up应该就能正常启动虚拟机了。另外提一句,你选的bytesguy/ubuntu-server-20.04-arm64这个box是适配M2的arm架构,这点没问题不用改。

备注:内容来源于stack exchange,提问作者Javid Karimov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 12:19:39