Vagrant cannot forward the specified ports on this VM, since they
would collide with some other application that is already listening
on these ports. The forwarded port to 80 is already in use
on the host machine.
To fix this, modify your current project's Vagrantfile to use another
port. Example, where '1234' would be replaced by a unique host port:
config.vm.network :forwarded_port, guest: 80, host: 1234
答案 0 :(得分:0)
看来,当你说
时运行lsof -i tcp:80时,不返回任何服务并且相同 适用于我尝试过的其他港口。
你在主人和客人之间感到困惑
所以当它读取
config.vm.network :forwarded_port, guest: 80, host: 1234
这意味着来宾VM的端口80将在端口1234上的主机上重定向,无论您是否在VM上的80端口上运行了某些东西,它都会准备绑定并确保主机上的端口是可用。
所以你应该确保在主机上的端口1234
上没有运行任何东西(不是端口80有或没有) - 如果有使用该端口的进程,请切换到另一个端口或杀死进程
答案 1 :(得分:0)
即使端口未使用且您正在运行VMware Fusion,如果您发生了冲突,请执行sudo edit / Library / Preferences / VMware Fusion / vmnet8 / nat.conf /并删除(评论不是&#39 ;对我来说足够了)<external port number> = <VM's IP address>:<VM's port number>
格式的行。例如,我删除了80 = 192.168.12.150:80
和其他许多人。保存文件并运行vagrant up
。
重新启动VM时,可能需要重复此过程。 Fusion似乎存在问题,即使在VM关闭后也会在配置文件中留下旧条目。我在这里发现了它:https://github.com/mitchellh/vagrant/issues/8130