【问题标题】:AngularJS app server won't start with npm startAngularJS 应用服务器不会以 npm start 启动
【发布时间】:2019-05-24 21:24:31
【问题描述】:

昨天,我正在 MacBook 上编写 AngularJS angular-phonecat 教程。它工作得很好。 (虽然npm startnpm test 都需要sudo 才能实际工作,这很奇怪)

今天,我将原始 repo 克隆到我的 MacBookPro 上,运行 npm install,并尝试使用 npm start 启动,但出现错误:

$ npm start

... other scripts running ...

> http-server ./app -a localhost -p 8000 -c-1

events.js:173
      throw er; // Unhandled 'error' event
      ^

Error: getaddrinfo ENOTFOUND localhost
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:58:26)
Emitted 'error' event at:
    at GetAddrInfoReqWrap.doListen [as callback] (net.js:1440:12)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:58:17)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! angular-phonecat@0.0.0 start: `http-server ./app -a localhost -p 8000 -c-1`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the angular-phonecat@0.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/TuzMacbookPro2017/.npm/_logs/2019-05-23T17_54_25_562Z-debug.log

只运行脚本的最后一行会产生类似但不太详细的错误:

$ http-server ./app -a localhost -p 8000 -c-1
events.js:173
      throw er; // Unhandled 'error' event
      ^

Error: getaddrinfo ENOTFOUND localhost
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:58:26)
Emitted 'error' event at:
    at GetAddrInfoReqWrap.doListen [as callback] (net.js:1440:12)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:58:17)

雪上加霜,当我在昨天工作的计算机上的教程应用程序的副本中运行 sudo npm start,然后访问 URL localhost:8000 时,我收到 400 错误。我无法想象自昨天以来会发生什么变化! sudo npm test 启动 Karma 测试,在两台计算机上都没有任何问题(尽管 MacBook Pro 不需要 sudo)。

当前在两台计算机上运行 npm 6.4.1。 MacBook 位于节点 10.15.3,MacBookPro 位于节点 11.12.0

更糟糕的是:我刚刚下载了一个新的 repo 克隆(直接来自 angular 网站),现在 MacBook 在运行 npm start 时出现此错误,无论有无 sudo

> http-server ./app -a localhost -p 8000 -c-1

events.js:174
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE: address already in use 127.0.0.1:8000
    at Server.setupListenHandle [as _listen2] (net.js:1270:14)
    at listenInCluster (net.js:1318:12)
    at GetAddrInfoReqWrap.doListen [as callback] (net.js:1451:7)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:61:10)
Emitted 'error' event at:
    at emitErrorNT (net.js:1297:8)
    at process._tickCallback (internal/process/next_tick.js:63:19)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! angular-phonecat@0.0.0 start: `http-server ./app -a localhost -p 8000 -c-1`
npm ERR! Exit status 1

怎么了?

【问题讨论】:

  • 与您的帖子无关,但请注意;因为 AngularJS 不太可能通过新功能进一步开发;此时开始学习它可能没有意义。你更有可能从学习 Angular 中受益,虽然它的名称相同,但它是一个不同的框架。
  • 谢谢。我正在学习它以准备在一个经常使用它的地方进行面试,我只是检查了工作描述,它肯定是 AngularJS,但真的感谢您的提醒!
  • 尽管这个问题显然是关于 angular 而不是 angularjs,但您恢复了我的编辑,为什么?
  • 是关于 AngularJS 的!我不知道角。我只知道 AngularJS。

标签: angularjs npm


【解决方案1】:

问题似乎出在httpserver 调用的-a localhost 参数中。从package.json 的脚本中删除它修复了所有问题。

【讨论】:

    猜你喜欢
    • 2021-01-13
    • 2020-12-21
    • 2017-03-21
    • 2018-11-10
    • 2018-09-25
    • 2015-08-19
    • 2018-12-18
    • 1970-01-01
    • 2017-07-03
    相关资源
    最近更新 更多