Vagrant VMware 实用程序驱动程序

Fra*_*sco 8 vmware vagrant hashicorp

首先,如果有人已经提出了这个问题,我很抱歉,在这种情况下,请将链接粘贴到此处,因为我没有找到任何内容。我正在学习 vagrant,使用 virtualbox 我在运行虚拟机时没有问题,但如果我想使用 VMware 作为提供程序。我遇到此消息,但找不到摆脱此问题的方法。我认为一切都配置良好,但显然有些问题。

当我启动时vagrant up --provider=vmware_desktop,我收到以下错误消息:

Vagrant encountered an unexpected communications error with the
Vagrant VMware Utility driver. Please try to run the command
again. If this error persists, please contact support@hashicorp.com
Run Code Online (Sandbox Code Playgroud)

我目前使用的是 Fedora 35

Operating System: Fedora Linux 35 (Workstation Edition)
          Kernel: Linux 5.17.5-200.fc35.x86_64
    Architecture: x86-64
Run Code Online (Sandbox Code Playgroud)

Ami*_*lar 3

我已经关注了这个线程:

https://github.com/hashicorp/vagrant-vmware-desktop/issues/22

有人准备了一个很好的要点——我在下面复制了它,以防要点链接不再存在。

我的问题主要是 Vagrant 2.2.19 与 VMWare 不兼容。2.2.18 运行良好。只要确保您一步一步遵循上述要点即可。

https://gist.github.com/sbailliez/f22db6434ac84eccb6d3c8833c85ad92

我的问题主要是 Vagrant 2.2.19 与 VMWare 不兼容。2.2.18 运行良好。只要确保您一步一步遵循上述要点即可。

Apple M1 Pro 上的 Vagrant 和 VMWare 技术预览

本文档总结了在 Apple M1 Pro 上运行 VMWare 技术预览版时所做的笔记,它源自https://github.com/hashicorp/vagrant-vmware-desktop/issues/22中的讨论

安装罗塞塔

首先安装 Rosetta(如果尚未安装),这是运行 x86 代码所必需的:

/usr/sbin/softwareupdate --install-rosetta --agree-to-license
Run Code Online (Sandbox Code Playgroud)

安装流浪汉

通过brew安装Vagrant或手动安装。请注意,我使用2.2.18,因为 2.2.19 对我不起作用。(YMMV)

brew install vagrant@2.2.18
Run Code Online (Sandbox Code Playgroud)

安装 VMWare Fusion 技术预览版

您需要在 vmware 上创建一个帐户,因为它需要特定于用户的用户和密钥信息。注册过程有点复杂。请注意密码,因为密码必须少于 20 个字符,并且不会出现任何错误消息。

您可以通过下载页面下载技术预览版。

安装完成后,您将需要创建一个符号链接作为 vagrant vmware 实用程序等。假设 vmware 安装在特定目录中,而技术预览版安装在另一个目录中。

ln -s /Applications/VMWare\ Fusion\ Tech\ Preview.app /Applications/VMWare\ Fusion.app
Run Code Online (Sandbox Code Playgroud)

安装 Vagrant VMWare 提供程序

它需要两个步骤。文档中有详细说明,但请按照以下步骤操作:

首先转到Vagrant vmware Utility并下载二进制文件并安装它。它说 x86_64 但没问​​题。

直接链接是:

https://releases.hashicorp.com/vagrant-vmware-utility/1.0.21/vagrant-vmware-utility_1.0.21_x86_64.dmg
Run Code Online (Sandbox Code Playgroud)

它需要是1.0.21版本

接下来安装提供程序:

vagrant plugin install vagrant-vmware-desktop
Run Code Online (Sandbox Code Playgroud)

创建一个流浪文件

创建文件Vagrantfile

Vagrant.configure("2") do |config|
  config.vm.box = "spox/ubuntu-arm"
  config.vm.box_version = "1.0.0"
end

Run Code Online (Sandbox Code Playgroud)

跑流浪汉

vagrant up
Run Code Online (Sandbox Code Playgroud)

进而

vagrant ssh
Run Code Online (Sandbox Code Playgroud)

希望这应该有效,并且您应该发现自己几乎一切正常。

故障排除

我观察到各种导致整个体验不稳定或产生冲突的问题。

vagrant 2.2.19 已损坏

我在尝试运行 vagrant 2.2.19 时遇到了问题。使用2.2.18

vagrant-vmware 提供商转发端口绑定

如果您在盒子上声明转发端口,由于某些原因,提供商会保留它们并使其绑定在 LISTEN 状态,即使您执行了vagrant halt.

您可以使用以下方法进行检查:

/usr/sbin/softwareupdate --install-rosetta --agree-to-license
Run Code Online (Sandbox Code Playgroud)

您可以看到端口存储在:

brew install vagrant@2.2.18
Run Code Online (Sandbox Code Playgroud)

要停止提供程序,请使用:

ln -s /Applications/VMWare\ Fusion\ Tech\ Preview.app /Applications/VMWare\ Fusion.app
Run Code Online (Sandbox Code Playgroud)

要再次启动它,请使用load代替unload

nfs 导出冲突

如果你的 vagrant box 使用 nfs, /etc/exports随着时间的推移,它似乎会用重复或过时的条目污染文件,这会导致 vagrant 在某些时候对你生气。您可能需要修剪条目。似乎与vagrant#11418有关