2016-04-25 136 views
-1

我自发地遇到了启动我的流浪机器的问题。当试图运行无业游民了,我得到以下错误:流浪者未使用的港口碰撞 - 无法运行流浪

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 

在我vagrantfile我已经改变了这些端口随机未使用的但仍然出现错误。

运行时lsof -i tcp:80没有服务返回,同样适用于我尝试过的其他端口。

以前有没有其他人有过这个问题?我开始认为它不是端口相关的,我也尝试重新启动我的机器。

回答

0

看来,当你说

When running lsof -i tcp:80 no service is returned and the same applies for other ports that I have tried.

你的主机和客户

所以之间迷茫的时候它会读取

config.vm.network :forwarded_port, guest: 80, host: 1234 

这意味着端口80从客户虚拟机将在端口1234上的主机上重定向,无论您是否在虚拟机的80端口上运行某些内容,都会准备绑定并确保主机上的端口可用。

所以你应该确定的是,主机上的端口1234上没有任何东西在运行(不是端口80有东西) - 如果有一个使用该端口的进程,切换到另一个端口或终止进程

+0

我遇到了和西蒙一样的问题。 '1234'是错误消息中的一个随机示例,它是关于如何更改主机端口的建议。这不是当前的主机端口。您可以在消息的前面看到主机端口,它说:“主机上转发的端口80已在使用 ”。 – Qaz

0

如果即使在端口未使用且您正在运行VMware Fusion时发生冲突,sudo edit/Library/Preferences/VMware Fusion/vmnet8/nat.conf /和delete(对我来说评论是不够的)格式为<external port number> = <VM's IP address>:<VM's port number>的行。例如,我删除了80 = 192.168.12.150:80等等。保存该文件并运行vagrant up

当您重新启动虚拟机时,您可能需要重复此过程。即使VM关闭后,Fusion似乎也会出现问题,使其在配置文件中留下旧条目。我在这里发现它:https://github.com/mitchellh/vagrant/issues/8130