在this指南后,我遇到了错误,但不确定问题是什么。
我设法到第2步结束没问题,我重新启动了服务器npm start
。然后我对玉器文件进行了一些调整,再次启动它并且在对原木中放入很少的东西时呻吟。 在此发布之前,我删除了整个文件夹并重新开始,但是现在npm服务器甚至不会以快递创建的基本文件开始。
当我运行时:npm install -g express
就像本地用户一样,我收到错误告诉我以root身份运行。所以express以root身份安装,但是npm install -g express-generator
作为本地用户运行良好。
所以安装了快速和快速生成器后,我现在可以创建一个快速项目(以本地用户身份登录,而不是根目录,项目名称......节点名称):
express noders
现在npm install来获取所有依赖项:
npm install
所以理论上我现在应该能够启动节点js服务器......
npm start
但结果是:
Janines-MacBook-Pro:noders janinenitz$ npm start
> noders@0.0.0 start /Users/janinenitz/node/noders
> node ./bin/www
events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at errnoException (net.js:905:11)
at Server._listen2 (net.js:1043:14)
at listen (net.js:1065:10)
at Server.listen (net.js:1139:5)
at Function.app.listen (/Users/janinenitz/node/noders/node_modules/express/lib/application.js:556:24)
at Object.<anonymous> (/Users/janinenitz/node/noders/bin/www:7:18)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
npm ERR! noders@0.0.0 start: `node ./bin/www`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the noders@0.0.0 start script.
npm ERR! This is most likely a problem with the noders package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node ./bin/www
npm ERR! You can get their info via:
npm ERR! npm owner ls noders
npm ERR! There is likely additional logging output above.
npm ERR! System Darwin 14.0.0
npm ERR! command "node" "/usr/local/bin/npm" "start"
npm ERR! cwd /Users/janinenitz/node/noders
npm ERR! node -v v0.10.35
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/janinenitz/node/noders/npm-debug.log
npm ERR! not ok code 0
日志文件:
0 info it worked if it ends with ok
1 verbose cli [ 'node', '/usr/local/bin/npm', 'start' ]
2 info using npm@1.4.28
3 info using node@v0.10.35
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info prestart noders@0.0.0
6 info start noders@0.0.0
7 verbose unsafe-perm in lifecycle true
8 info noders@0.0.0 Failed to exec start script
9 error noders@0.0.0 start: `node ./bin/www`
9 error Exit status 8
10 error Failed at the noders@0.0.0 start script.
10 error This is most likely a problem with the noders package,
10 error not with npm itself.
10 error Tell the author that this fails on your system:
10 error node ./bin/www
10 error You can get their info via:
10 error npm owner ls noders
10 error There is likely additional logging output above.
11 error System Darwin 14.0.0
12 error command "node" "/usr/local/bin/npm" "start"
13 error cwd /Users/janinenitz/node/noders
14 error node -v v0.10.35
15 error npm -v 1.4.28
16 error code ELIFECYCLE
17 verbose exit [ 1, true ]
在阅读了其他一些帖子之后,我停止了节点服务器npm stop
,然后再次开始希望端口号没有冲突,但我得到了相同的结果。
当我以root身份运行时,我得到完全相同的结果。
有没有人有任何想法?您使用node安装的每个站点是否都需要删除端口号并需要删除?
运行lsof -i
时,这是结果(关闭Web浏览器后):
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
UserEvent 201 janinenitz 4u IPv4 0x45000000008e2c77 0t0 UDP *:*
SystemUIS 209 janinenitz 23u IPv4 0x45000000478e706f 0t0 UDP *:53884
SystemUIS 209 janinenitz 25u IPv4 0x00000000478e6e17 0t0 UDP *:*
sharingd 221 janinenitz 12u IPv4 0x450000004711d70f 0t0 UDP *:*
SpotifyWe 274 janinenitz 6u IPv4 0x4500000048000000 0t0 TCP localhost:4370 (LISTEN)
SpotifyWe 274 janinenitz 7u IPv4 0x456d000048b19947 0t0 TCP localhost:4380 (LISTEN)
WiFiAgent 278 janinenitz 16u IPv4 0x4560000047000000 0t0 UDP *:*
没有任何东西监听端口3000(这是我以前从上面提到的教程得到的defualt页面)我重新启动npm仍然得到与上面相同的结果:
events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at errnoException (net.js:905:11)
at Server._listen2 (net.js:1043:14)
at listen (net.js:1065:10)
at Server.listen (net.js:1139:5)
at Function.app.listen (/Users/janinenitz/node/noders/node_modules/express/lib/application.js:556:24)
at Object.<anonymous> (/Users/janinenitz/node/noders/bin/www:7:18)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
... etc etc
我也尝试告诉app.js听一个随机的端口号:app.listen(31001);
但仍然没有快乐:S
我使用npm install
构建和安装的先前应用程序是否有可能在某种程度上与此相冲突?是否有正式的方式&#34;卸载&#34; nodeJs app?
干杯, Ĵ
答案 0 :(得分:3)
Error: listen EADDRINUSE
表示端口已被占用。您是否在指定端口上运行另一个节点应用程序或某个服务器?我的猜测是你。
如果您想终止正在尝试连接的端口的进程,并且您在终端运行中运行了linux / mac:
lsof -i tcp:{DESIGNATED_PORT} // Example
lsof -i tcp:8080 // Yours will need to be something like so
你会看到这样的输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 2940 sethkrasnianski 12u IPv4 0xdce46e6699332713 0t0 TCP *:vrpn (LISTEN)
...然后获取PID#并运行kill -9 {PID_NUMBER}
否则,您只需编辑app.js
文件(或任何条目文件的名称),并将您的快速服务器分配给一个新的,模糊的端口。