
啟動 vagrant box 時出現以下錯誤:
gajus:vagrant gajus$ vagrant up
Bringing machine 'default' up with 'vmware_fusion' provider...
==> default: Checking if box 'puppetlabs/centos-6.5-64-puppet' is up to date...
==> default: Verifying vmnet devices are healthy...
The VMware network device 'vmnet2' can't be started because
its routes collide with another device: 'en0'. Please
either fix the settings of the VMware network device or stop the
colliding device. Your machine can't be started while VMware
networking is broken.
Routing to the IP '192.168.1.0' should route through 'vmnet2', but
instead routes through 'en0'.
這是我的 ifconfig:
sh-3.2# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
nd6 options=1<PERFORMNUD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 60:03:08:a8:1e:ca
inet6 fe80::6203:8ff:fea8:1eca%en0 prefixlen 64 scopeid 0x4
inet 192.168.1.175 netmask 0xffffff00 broadcast 192.168.1.255
nd6 options=1<PERFORMNUD>
media: autoselect
status: active
en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=60<TSO4,TSO6>
ether 72:00:01:ee:3a:20
media: autoselect <full-duplex>
status: inactive
en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=60<TSO4,TSO6>
ether 72:00:01:ee:3a:21
media: autoselect <full-duplex>
status: inactive
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
ether 02:03:08:a8:1e:ca
media: autoselect
status: inactive
awdl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1452
ether 32:df:40:67:6a:63
inet6 fe80::30df:40ff:fe67:6a63%awdl0 prefixlen 64 scopeid 0x8
nd6 options=1<PERFORMNUD>
media: autoselect
status: active
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=63<RXCSUM,TXCSUM,TSO4,TSO6>
ether 62:03:08:8a:2b:00
Configuration:
id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
ipfilter disabled flags 0x2
member: en1 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 5 priority 0 path cost 0
member: en2 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 6 priority 0 path cost 0
nd6 options=1<PERFORMNUD>
media: <unknown type>
status: inactive
誰能解釋一下是什麼原因導致了這個問題以及如何預防它?
答案1
我在運行 Vagrant 1.7.2 和 VMWare Fusion 6.0.6 的 OSX (10.10.2) 上遇到了這個問題,但出現了錯誤訊息:
路由到 IP「192.168.1.0」應透過「vmnet3」路由,但應透過「en0」路由。
為了解決這個問題,我:
cd /Library/Preferences/VMware\ Fusion
- 刪除了所有提及
VMNET3
from的內容networking
。 (在執行此操作之前,您應該備份檔案。) cd <where your Vagrantfile is>
vagrant up
虛擬機器已成功啟動。