2012-04-18 3 views
4

최근 이상한 오류 메시지가 많이 발생했습니다. 이제는 app.js를 시작할 수 없습니다. 다음은 무엇을 의미 할 수 있습니까? 그리고 누구든지 해결 방법을 알고 있습니까?Node.js의 이상한 오류 메시지

node.js:201 
     throw e; // process.nextTick error, or 'error' event on first tick 
      ^
TypeError: Cannot read property 'port' of null 
    at Object.<anonymous> (/Users/henrikpetersson81/node/last/test4/app.js:15:64) 
    at Module._compile (module.js:441:26) 
    at Object..js (module.js:459:10) 
    at Module.load (module.js:348:31) 
    at Function._load (module.js:308:12) 
    at Array.0 (module.js:479:10) 
    at EventEmitter._tickCallback (node.js:192:40) 
+2

아마 구문 오류가 있지만 코드를 게시하지 않는 한 우리가 도울 수 없습니다. –

+0

이것은 런타임 오류이며 구문 오류가 아닙니다. 구문 오류는 "SyntaxError"라고합니다. –

+0

코드를 보여줄 수 있습니까? Express를 사용하는 경우 Express 3.0이 작동 방식이 변경되었음을 유의하십시오. – Menztrual

답변

1

톱 a similar question recently. 비슷한 문제가 발생할 수 있습니다. 아마도 app.listen이 완료되고 해당 콜백이 호출되기 전에 사용하고있는 라이브러리 중 하나 (또는 ​​자신의 코드)가 app.address().port에 액세스하려했을 것입니다.

1

같은 오류 메시지를 설명하는 문서를 찾았습니다. 포트에 문제가 있습니다. 포트를 3000에서 5959로 변경했는데 이제는 작동합니다. 이상하게도 포트가 갑자기 작동을 멈췄습니다.

+1

다른 애플리케이션, 레일즈 애플리케이션의 루비 (이미 루비 3000 번 포트에서 수신 중)가 있습니까? –

+1

사실, 아니야, 좀 이상해. – holyredbeard

+0

나도 마찬가지예요! 포트 3000은 다른 응용 프로그램에서 사용 중이 아니지만 NodeJS는이를 수신 할 수 없습니다. 정말로 이상하다! –

4

포트는 이미 사용되고 있습니다. 그 사건이 나와 함께했다.

0

나는 동일한 문제가있었습니다. 노드 서버를 죽일 때 노드가 죽지 않았을 때 nodemon을 사용하는 동안 (또는 간단하게) 서버가 3000 포트를 계속 수신합니다. 이를 극복하기 위해 터미널을 닫고 서버를 다시 시작하십시오. (우분투 컴퓨터에서 노드와 노드를 사용하여)

0

비슷한 문제점이 있습니다. 여기서 port : 3000은 node.js 스크립트에서만 사용됩니다. PID를 강제 종료하면 포트 : 3000에서 작동됩니다.

lsof -i :3000 
kill -9 <PID> 
0

로컬 호스트가 수신 대기중인 포트가 다른 응용 프로그램/서비스에서 사용되고 있습니다. 다음 위치의 포트를 8888 또는 3000과 같은 다른 포트 번호로 변경해보십시오.

/Users/henrikpetersson81/node/last/test4/app.js