绑定错误:无法为localhost找到一致的端口

1 投票
2 回答
515 浏览
提问于 2025-04-30 11:21

抱歉再次提这个问题,我看到之前有人问过这个问题,但没有得到答案,我现在还是遇到这个问题。我不知道怎么重新提问。 :)

我在本地运行Google App Engine开发服务器时,偶尔会遇到一些问题。我想强调的是,这些问题是偶发的,我很难搞清楚问题出在哪里。我使用的是Mac OS X Mavericks。

我主要在两个地方工作,以前在这两个地方都能正常运行,现在只有一个地方出现问题。我尝试过一些简单的操作,比如切换有线和无线网络,甚至在没有互联网的情况下运行。

我运行了

dev_appserver.py ShoppingList/

然后得到了以下输出

INFO     2014-10-29 20:19:40,423 devappserver2.py:733] Skipping SDK update check.
WARNING  2014-10-29 20:19:40,427 api_server.py:383] Could not initialize images API; you are likely missing the Python "PIL" module.
WARNING  2014-10-29 20:19:40,428 simple_search_stub.py:1098] Could not read search indexes from /var/folders/0x/6w6yzwhx28780kdnwpqdz2dc0000gn/T/appengine.husk-lige.mortenmedici/search_indexes
Traceback (most recent call last):
  File "/Users/mortenmedici/Directory to extract under (this will create a directory google-cloud-sdk) /Users/mortenmedici install_dst/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 82, in <module>
    _run_file(__file__, globals())
  File "/Users/mortenmedici/Directory to extract under (this will create a directory google-cloud-sdk) /Users/mortenmedici install_dst/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 78, in _run_file
    execfile(_PATHS.script_file(script_name), globals_)
  File "/Users/mortenmedici/Directory to extract under (this will create a directory google-cloud-sdk) /Users/mortenmedici install_dst/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 986, in <module>
    main()
  File "/Users/mortenmedici/Directory to extract under (this will create a directory google-cloud-sdk) /Users/mortenmedici install_dst/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 979, in main
    dev_server.start(options)
  File "/Users/mortenmedici/Directory to extract under (this will create a directory google-cloud-sdk) /Users/mortenmedici install_dst/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 778, in start
    apis.start()
  File "/Users/mortenmedici/Directory to extract under (this will create a directory google-cloud-sdk) /Users/mortenmedici install_dst/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/api_server.py", line 170, in start
    super(APIServer, self).start()
  File "/Users/mortenmedici/Directory to extract under (this will create a directory google-cloud-sdk) /Users/mortenmedici install_dst/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/wsgi_server.py", line 314, in start
    raise BindError('Unable to find a consistent port for %s' % host)
google.appengine.tools.devappserver2.wsgi_server.BindError: Unable to find a consistent port for localhost

我尝试过其他答案中关于BindError的解决方案:应用程序无法在GAE上运行 - '无法绑定到localhost:0'

启动开发服务器失败 -- BindError: 无法找到一致的端口localhost我没有其他服务器实例在运行,我的/etc/hosts中只有一个localhost,换一个端口也没有帮助。

注意,错误只出现在'localhost'上,而不是'localhost:0'或其他特定端口,这在其他问题中是有提到的。我不知道这是否提供了任何信息。

非常感谢任何帮助。

暂无标签

2 个回答

1

最近我遇到了一个问题。首先,我用“lsof -i :8080”这个命令来查找是否有程序已经占用了这个8080端口,但问题还是没解决。

后来我发现问题出在/etc/hosts文件上。这个文件是空的。填充了一些内容后,问题依然存在。只有在把文件的权限改成644后,才正常工作。所以……

    sudo chmod 644 /etc/hosts

如果这对你有帮助,请告诉我。

1

你有没有看过这个问题? 这个问题看起来是个已知的bug,可能是因为你的hosts文件里有多个关于'localhost'的条目导致的。

撰写回答