我有一台4岁的MacBook。我一直在使用mocha和WebStorm下的数据存储模拟器编写单元测试。测试通过。
我最近购买了一台新MacBook,因此我使用迁移助手将所有内容传输到它。一切正常 - 除了当单元测试尝试启动数据存储模拟器时,它会以IOException退出:"无法绑定"
我可以从命令行运行模拟器;只有在从Mocha调用DatastoreEmulator.start()失败时才会这样做。
我升级了Java(以防万一,之前它们都运行相同的版本)并更新了gcloud。他们都使用摩卡3.5.0 我发现两台机器之间没有任何显着差异。重新启动没有帮助。没有什么可以听的端口 - 我尝试过使用其他端口。
如果有人对如何解决 - 甚至调试 - 这个问题有任何建议,我很乐意听到它们。到目前为止,我感到困惑。
答案 0 :(得分:1)
这也发生在我身上,是一个虚拟问题。我正在运行模拟器,无法用 ctrl + C 关闭。所以我关闭了终端,进程卡住了。 当我再次尝试运行模拟器时,我收到了同样的执行“无法绑定”。那是因为端口已经很忙了。如果有人和我一样,就分享这个。
答案 1 :(得分:0)
要调试,我将Java调试标志添加到platform / cloud-datastore-emulator / cloud_datastore_emulator(似乎没有任何其他工作),并通过Eclipse连接到该进程。
我发现它试图绑定到localhost / 192.168.1.1:8081而不是localhost / 127.0.0.1:8081
最终我追溯到前一个用户已擦除/ etc / hosts的事实,因此不再定义localhost。