Programing

Node.js – 이벤트 js 72가 처리되지 않은 '오류'이벤트를 발생시킵니다.

crosscheck 2020. 12. 12. 10:06
반응형

Node.js – 이벤트 js 72가 처리되지 않은 '오류'이벤트를 발생시킵니다.


Node.js를 처음 사용하고 스트림을 사용하여 프로그램을 실행하고 싶습니다. 다른 프로그램과 함께 (mongodb, redis 등) 서버를 동시에 시작해야했지만 이것으로 서버를 실행해야하는지 모르겠습니다. 내가 어디로 잘못 가고 있는지 그리고 어떻게 해결할 수 있는지 알려주십시오. 미리 감사드립니다.

이것은 프로그램입니다 :

var http = require('http'),
feed = 'http://isaacs.iriscouch.com/registry/_changes?feed=continuous';


function decide(cb) {
setTimeout(function () {
if (Date.now()%2) { return console.log('rejected'); }        
cb();
}, 2000);
}

http.get(feed, function (res) {

decide(res.pipe.bind(res, process.stdout));


//using anonymous function instead of bind:
// decide(function () {
//   res.pipe(process.stdout)
// });

});

이것은 cmd 출력입니다.

<b>C:\05-Employing Streams\05-Employing Streams\23-Playing with pipes>node npm_stre
am_piper.js

events.js:72
throw er; // Unhandled 'error' event
          ^
Error: Parse Error
at Socket.socketOnData (http.js:1583:20)
at TCP.onread (net.js:527:27)
</b>

nodejs app다른 셸에서 실행을 닫습니다 . 터미널을 다시 시작 하고 프로그램을 다시 실행 하십시오.


다른 서버도 nodejs에 사용한 것과 동일한 포트를 사용할 수 있습니다. 죽여 사용하는 과정을 nodejs port그리고 실행 응용 프로그램을.

포트 : 8000을 사용하는 애플리케이션의 PID를 찾으려면

$ fuser 8000/tcp
8000/tcp:            16708

여기서 PID는 16708입니다. 이제 kill [PID]명령을 사용하여 프로세스를 종료하십시오.

$ kill 16708

나는 같은 문제가 있었다. 터미널을 닫고 노드를 다시 시작했습니다. 이것은 나를 위해 일했습니다.


글쎄, 당신의 스크립트는 오류를 던지고 당신은 그것을 잡기 만하면됩니다 (그리고 / 또는 그것이 발생하지 않도록 막아야합니다). 나는 이미 사용 된 포트 (EADDRINUSE)였습니다.


이러한 오류가 발생할 때마다 항상 다음을 수행합니다.

// remove node_modules/
rm -rf node_modules/
// install node_modules/ again
npm install // or, yarn

그런 다음 프로젝트를 시작하십시오

npm start //or, yarn start

node_modules를 다시 설치하면 정상적으로 작동합니다. 하지만 그것이 좋은 습관인지 모르겠습니다.


다른 터미널에서 애플리케이션을 실행하는 경우에만 터미널을 확인하십시오.

포트가 이미 수신 중입니다 ..


가치있는 일이 무엇인지, 현재 Linux 배포판의 nodejs 및 npm 패키지를 새로 설치하는 동안이 오류가 발생했습니다.

npm install metor

And got the above referenced error. After wasting some time, I found out I should have used meteor's way to update itself:

meteor update

This command output, among others, the message that meteor was severely outdated (over 2 years) and that it was going to install itself using:

curl https://install.meteor.com/ | sh

Which was probably the command I should have run in the first place.

So the solution might be to upgrade/update whatever nodejs package(js) you're using.

참고URL : https://stackoverflow.com/questions/22960703/node-js-events-js-72-throw-er-unhandled-error-event

반응형