【问题标题】:Ember server port permissionEmber 服务器端口权限
【发布时间】:2017-05-14 16:02:25
【问题描述】:

在任何 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 检查失败的端口没有显示任何内容。所以我想这一定是一个权限问题。我使用https://stackoverflow.com/a/28025834/704499建议的设置在新Mac上安装了它:brew install nvm,然后是nvm install 6.9.2,然后是npm install -g npm@latest

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

  • nodejs 6.9.2
  • nvm 0.32.1
  • npm 3.10.9
  • ember-cli 2.10.0

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

【问题讨论】:

  • 您能否尝试通过将以下行添加到.ember-cli 文件来更改端口。 “实时重载端口”:49123
  • 谢谢@ykaragol,这行得通。仍然很奇怪,sudo ember s 与初始端口一起工作并且没有任何东西阻塞初始端口。

标签: macos ember.js livereload


【解决方案1】:

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

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

【讨论】:

  • 哇,没想到 Touchbar 会阻止我的 Ember 服务器启动。谢谢!
  • 您可以通过ember server --live-reload-port 35729 在不同的端口上启动服务器。但如果您不想重复输入,可以在 .ember-cli 文件中更改 livereload 端口:{ "live-reload-port": 35729 }
  • @morgler 也应该在 Ember-CLI 的更高版本中修复(我假设您使用的是 2.10?)。如果这有帮助,您介意接受我的回答吗?
  • fwiw,ember-cli 2.11 继续出现此问题。幸运的是,更改端口有效。 @acorncom 引用的 GitHub 问题在几周前被标记为已关闭,但看起来实际上尚未解决。
【解决方案2】:

要临时解决此问题,请在不同的端口上启动服务器:

ember serve --live-reload-port 0

Per ember 帮助:“传递 0 以自动选择可用端口”,这通常适用于 --live-reload-port 以及 webserver 端口。有时我会遇到同样的错误,指定一个像 35729 这样的端口就可以了。

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

npm install -g ember-cli@beta

注意:@acorncom 指出 beta 版有一个修复程序 (github issue),问题的原始发帖人 @morgler 在此线程的评论中分享了实时重载端口号更改的具体说明。我的回答只是将信息整合在一个地方,因此应在应有的地方提供信用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 2019-12-23
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多