Ember 服务器端口权限

Ember server port permission

在任何 ember 应用程序上执行 ember s 时,我得到:

Serving on http://localhost:4200/
Livereload failed on http://localhost:49152.  It is either in use or you do not have permission.

lsof -iTCP:49152检查故障端口什么也没显示。所以我想这一定是一个权限问题。我使用 中建议的设置将其安装在新的 Mac 上:brew install nvm,然后是 nvm install 6.9.2,然后是 npm install -g npm@latest

我可以使用 sudo ember s 启动服务器。但我也可以通过为 livereload 显式分配一个不同的端口来启动服务器——这没有任何意义,因为没有任何东西阻塞端口 49152…

我很困惑这个问题的确切原因是什么以及我该如何解决它。任何提示表示赞赏。

这与新款 MacBook Pro 上的 Touchbar 有关。在此处查看详细信息:https://github.com/ember-cli/ember-cli/issues/6513

如果您更改启动实时重新加载的端口(目前在移动设备上,因此没有简单的方法来查找该命令),您应该已设置好。

要暂时解决此问题,请在其他端口上启动服务器:

ember serve --live-reload-port 0

根据 ember 帮助:"Pass 0 to automatically pick an available port",它通常适用于 --live-reload-port 以及网络服务器端口。有时我会遇到同样的错误,指定一个像 35729 这样的端口就可以了。

修复也在 ember-cli 管道中;您可以更新到测试版分支进行测试:

npm install -g ember-cli@beta

注意:@acorncom 指出测试版有一个修复程序(github issue),问题的原始发布者@morgler 在此线程的评论中分享了实时重新加载端口号更改的具体说明.我的回答只是将信息合并到一个地方,所以在信用到期的地方信用。