我已经关注了这个讨论串:
https://github.com/hashicorp/vagrant-vmware-desktop/issues/22
有人准备了一个很好的gist--如果gist链接不再可用,我复制到下面。
我的问题主要是Vagrant 2.2.19与VMWare不兼容。2.2.18可以正常使用。只需确保您按照上述gist逐步操作即可。
https://gist.github.com/sbailliez/f22db6434ac84eccb6d3c8833c85ad92
我的问题主要是Vagrant 2.2.19与VMWare不兼容。2.2.18可以正常使用。只需确保您按照上述gist逐步操作即可。
在苹果M1 Pro上使用Vagrant和VMWare Tech Preview
本文总结了在苹果M1 Pro上使VMWare Tech预览版可用所做的笔记,源自https://github.com/hashicorp/vagrant-vmware-desktop/issues/22中的讨论。
安装Rosetta
首先安装Rosetta(如果尚未安装),这是运行x86代码所需的:
/usr/sbin/softwareupdate --install-rosetta --agree-to-license
安装Vagrant
通过brew安装Vagrant或手动安装。请注意我使用的是2.2.18版本,因为2.2.19对我来说不可用。(YMMV)
brew install vagrant@2.2.18
安装VMWare Fusion技术预览版
您需要在vmware上创建一个账户,因为它需要用户和密钥信息,这些信息是用户特定的。注册过程有些复杂,请注意密码需要少于20个字符,且没有错误消息。
您可以通过下载页面下载技术预览版。
一旦安装完成,您将必须创建符号链接,因为vagrant vmware工具等假设vmware安装在特定目录中,而技术预览版安装在另一个目录中。
ln -s /Applications/VMWare\ Fusion\ Tech\ Preview.app /Applications/VMWare\ Fusion.app
安装Vagrant VMWare提供程序
此过程需要两个步骤,具体请参见文档,但请按照以下步骤进行:
首先访问Vagrant vmware实用工具,下载并安装二进制文件。它显示为x86_64,但没有问题。
直接链接如下:
https://releases.hashicorp.com/vagrant-vmware-utility/1.0.21/vagrant-vmware-utility_1.0.21_x86_64.dmg
需要版本号为1.0.21。
接下来安装提供程序:
vagrant plugin install vagrant-vmware-desktop
创建一个Vagrant文件
创建一个名为Vagrantfile
的文件。
Vagrant.configure("2") do |config|
config.vm.box = "spox/ubuntu-arm"
config.vm.box_version = "1.0.0"
end
运行 Vagrant
vagrant up
然后
vagrant ssh
希望这会起作用,你会发现几乎所有内容都在工作。
故障排除
我观察到各种问题会导致整个体验不稳定或者创建冲突。
vagrant 2.2.19版本有问题
我尝试使用vagrant 2.2.19时遇到了问题。使用2.2.18版本。
vagrant-vmware提供程序转发的端口被绑定
如果你在你的盒子上声明了转发端口,由于某些原因,提供程序会将它们保留并保持在LISTEN状态,即使你执行了vagrant halt
。
你可以使用类似下面的命令检查:
sudo lsof -i -P | grep LISTEN | grep 'vagrant-v'
您可以看到端口存储在:
cat /opt/vagrant-vmware-desktop/settings/portforwarding.json
停止提供者使用以下命令:
sudo launchctl unload -w /Library/LaunchDaemons/com.vagrant.vagrant-vmware-utility.plist
重新启动它,请使用load
而不是unload
。
nfs导出冲突
如果您的vagrant box使用nfs,则似乎会随着时间的推移在/etc/exports
文件中污染重复或过时的条目,这将导致vagrant在某些时候对您发脾气。您可能需要修剪这些条目。这似乎与vagrant#11418有关。
service.log
(在Mac上为/Library/Application Support/vagrant-vmware-utility/service.log)以确保服务正在运行? - Frederic Henri