Ember服务器端口权限

时间:2016-12-30 10:36:17

标签: macos ember.js livereload

在任何余烬应用上执行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

使用brew install nvm检查发生故障的端口不显示任何内容。所以我想这必须是一个许可问题。我使用DEMOnvm install 6.9.2,然后npm install -g npm@latest,然后sudo ember s建议的设置在新Mac上安装了此设置。

我可以使用<h1>Embeddable test</h1> <p-messages [value]="messages"></p-messages> <p-dataList [value]="cities" class="city-list"> <header>Cities</header> <template let-city> <div class="city-item"> <table> <tr> <td><label>Name:</label></td> <td><input pInputText [(ngModel)]="city.name"/></td> </tr> <tr> <td><label>Area:</label></td> <td><input pInputText [(ngModel)]="city.area"/></td> </tr> <tr> <td><label>Population:</label></td> <td><input pInputText [(ngModel)]="city.population"/></td> </tr> </table> <p-dataList [value]="city.streets" class="street-list"> <header>Streets</header> <template let-street> <table class="street-item"> <tr> <td><label>Name:</label></td> <td><input pInputText [(ngModel)]="street.name"/></td> </tr> </table> </template> </p-dataList> <button pButton type="button" label="Add street" (click)="addStreet(city)"></button> </div> </template> </p-dataList> <button pButton type="button" label="Add city" (click)="addCity()"></button> 启动服务器。但是我也可以通过为livereload明确分配一个不同的端口来启动服务器 - 鉴于没有任何东西阻塞端口49152,它没有任何意义......

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

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

2 个答案:

答案 0 :(得分:3)

这与新款MacBook Pro上的Touchbar有关。详情请见https://github.com/ember-cli/ember-cli/issues/6513

如果您更改了重新加载实时启动的端口(此时在移动设备上,因此无法轻松查看该命令),您应该进行设置。

答案 1 :(得分:1)

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

ember serve --live-reload-port 0

Per ember help:&#34;传递0以自动选择可用端口&#34;,这通常适用于--live-reload-port和webserver端口。偶尔我会得到相同的错误,并指定像35729这样的端口就可以了。

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

npm install -g ember-cli@beta

注意:@acorncom指出beta有一个修复程序(github issue),问题的原始海报@morgler在此线程的注释中共享了实时重新加载端口号更改的具体说明。我的答案只是在一个地方整合信息,所以信用到期。