ELIFECYCLE Node.js 오류는 무엇을 의미합니까?


211

ELIFECYCLE은 무엇을 의미합니까?

여기 내 앱 코드가 있습니다 : https://gist.github.com/samholmes/388ca4552c5936b52c5d

'blast-emails'명령을 실행하면 오류와 함께 잠시 중단 될 때까지 잠시 동안 실행됩니다.

npm ERR! Linux 3.2.0-4-amd64
npm ERR! argv "/root/.nvm/versions/io.js/v1.6.1/bin/iojs" "/root/.nvm/versions/io.js/v1.6.1/bin/npm" "run" "live"
npm ERR! node v1.6.1
npm ERR! npm  v2.7.1
npm ERR! code ELIFECYCLE
npm ERR! emailer@0.0.0 live: `NODE_ENV=production node app.js`
npm ERR! Exit status 137
npm ERR! 
npm ERR! Failed at the emailer@0.0.0 live script 'NODE_ENV=production node app.js'.
npm ERR! This is most likely a problem with the emailer package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     NODE_ENV=production node app.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls emailer
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /apps/emailer/npm-debug.log

npm-debug.log파일은 요점에 포함되어 있습니다.

두 가지 답변 중 하나를 찾고 있습니다. ELIFECYCLE은 무엇을 의미합니까? (또는) 왜 애플리케이션 코드에서 오류가 발생합니까?


내 웹팩 프로세스에서 동일한 오류가 발생했습니다 (몇 시간 후에 다시 시작되지 않았으며 웹팩 빌드가 중단 된 변경 사항이 있음). 그렇지 않으면 이전에 오류를 본 적이 없으며 프로세스를 다시 시작하면 문제가 해결되었습니다.
Ally

1
ps -ax | 그렙 NPM .. 그리고 나를 위해 일한 고궁 박물원 프로세스 죽이기
Buminda

답변:


62

기본적으로 권한 때문이 아니라 스크립트 오류로 프로세스를 생성하지 못한다고 말합니다. 출처

실행하는 데 아무런 문제가 NODE_ENV=production node app.js없습니까?


스크립트를 실행하는 데 아무런 문제가 없습니다. 사실, 잘 작동합니다. async.eachSeries 루프를 수행하고 nodemailer와 mandrill 전송을 사용하여 이메일을 보내는 'blast-emails'를 실행할 때만이 오류가 발생합니다. 소스 코드에서 볼 수 있습니다. 노드 메일러 나 전송에 문제가 될 수 있습니까?
Sam

emailer.js에는 '오류'기능에 대한 참조가 있지만 찾을 수 없습니다.
Pierre Inglebert

emailer.js의 기능은 무엇입니까?
Sam


오류 기능은 해당 범위 내에서 아래에 정의되어 있습니다. gist.github.com/samholmes/388ca4552c5936b52c5d#file-app-js-L81
Sam

43

오래된 버전의 npm 및 노드 때문이라고 생각할 수도 있지만 실제로는 그렇지 않습니다.

Pierre Inglebert가 말한 것처럼 소스를 살펴보면 End of lifecycle프로그램이 예기치 않게 중지 되었음을 의미합니다 . 여러 가지 이유가있을 수 있습니다. 따라서 구문 오류가 아니며 예상되는 예외 / 오류가 아닙니다.

다른 도구가 이미 노드 스크립트에 정의 된 http 포트 (3000)를 사용하고있을 때 오류가 나타납니다. 포트 80에서 노드 앱을 실행할 때 Apache 웹 서버를 중지했는지 확인하십시오 (예 :).


2
나를 위해 동일한 포트가 다른 프로그램에 의해 사용되었다
스토킹


1
내 경우에는 Error: listen EADDRINUSE :::3000경고를 보지 못했습니다
estellezg

1
이전 버전의 node / npm을 사용하는 경우 오류가 실제로 모호합니다. 업그레이드해야한다고 생각했습니다. 대신 다운로드가 실패한 것입니다
Alex

13

WordPress 테마에서 작업하는 동안 ELIFECYCLE약간 다른 출력으로 동일한 오류가 발생했습니다.

npm ERR! 다윈 14.5.0
npm ERR! argv "/usr/local/Cellar/node/7.6.0/bin/node" "/ usr / local / bin / npm" "설치"
npm ERR! 노드 v7.6.0
npm ERR! npm v3.7.3
npm ERR! 코드 ELIFECYCLE
npm ERR! Foundationsix@1.0.0 사후 설치 :`bower install && gulp build`
npm ERR! 종료 상태 1
npm ERR! 
npm ERR! Foundationsix@1.0.0 설치 후 스크립트 'bower install && gulp build'에서 실패했습니다.
npm ERR! 최신 버전의 node.js 및 npm이 설치되어 있는지 확인하십시오.
npm ERR! 그렇다면 Foundationsix 패키지에 문제가있을 가능성이 높습니다.
npm ERR! npm 자체가 아닙니다.
npm ERR! 저자에게 이것이 시스템에서 실패했다고 말하십시오.
npm ERR! 바우어 설치 및 & 걸프 빌드

npm install같은 결과로 한 번 더 시도한 후에 시도 했습니다 bower install. 그것이 성공했을 때 나는 노력 gulp build했고 또한 효과가있었습니다.

모든 것이 지금 잘 작동합니다. &&실패 했을 때 각 명령을 별도로 실행하는 이유를 모르지만 다른 사람 이이 답변을 유용하게 사용할 수 있습니다.


@Matthew 읽기-코드 블록을 어떻게 다시 포맷 했습니까? 확실히 개선되었지만 직접 수행하는 방법을 모르겠습니다 ... 3 개의 틱을 사용하고 새 줄에 'enter'를 누른 다음 내 코드 ( 'enter'및 3 개의 틱이 뒤 따릅니다) 코드 블록을 닫을 수는 있지만 더 이상 작동하지 않는 것 같습니다. 포인터?
adam-asdf 1

내 이름 위에있는 "X 시간 / 일 전 편집"을 클릭 한 다음 "소스"를 클릭하면 표시됩니다! 미리 서식이 지정된 텍스트 태그 일뿐입니다. 다른 옵션은 각 줄을 4 칸 들여 쓰기하는 것입니다. 스택 오버플로는 GitHub / Slack / etc와 같은 트리플 백틱 구문을 지원하지 않습니다. -형식이 3 개의 연속 단일 역행 블록으로 해석되어 첫 번째 블록과 마지막 블록이 완전히 비어 있습니다. .
Matthew 읽기

제 경우에는 실행하는 것을 잊었습니다 npm install(node.js를 처음 사용합니다). 당신의 대답은 올바른 방향으로 나를 이끌었습니다. 감사.
Kon

13

제 경우에는 사진 압축 라이브러리가 더 큰 사진을 처리 할 수 ​​없었던 RAM 메모리 부족 때문이었습니다.


1
같은 문제가 발생했습니다. 메모리 부족 때문입니다.
Envil

2
같은! 메모리 부족으로 인해 ELIFECYCLE errno 137이 발생할 수 있습니다. 제 경우에는 서버에 1Gb RAM이있었습니다. 2Gb로 업그레이드하고 빌드가 통과되었습니다.
Firze

1
npm run watchDocker에서 달렸고 질문에서 오류가 발생했습니다. 도커의 메모리 및 CPU 제한을 늘리면 문제가 사라졌습니다.
Paul Basenko

5

내가 시작한 것처럼 React Getting Started 안내서를 시도 할 때 비슷한 오류가 발생하면 여기에 와서 Watchman을 설치하지 않아서 문제가 발생했을 수 있습니다. 여기에서 다운로드하거나 Homebrew와 함께 설치 한 brew install watchman후 다시 시도하십시오. https://facebook.github.io/watchman/docs/install.html

추신 : brew update먼저 할 수도 있습니다 .


고마워 ... 다른 사람의 반응을 만드는 법을 배우려고 노력하는 중입니다. 문서화되지 않은 설정 단계가 너무 많습니다!
Dronz

1
@Dronz 그래, 분명히 .. 이유를 모르겠다.
Magne

1
@Dronz 확실하지 않습니다. Mac에서 필요했습니다.
Magne

1
감사. Windows에서는 필요하지 않은 것 같습니다.
Dronz

1
개발 팀과 함께 WordPress에서 사전 빌드 된 템플릿을 구성하고 동일한 오류가 발생하여 줄을 변경 cwd: parseInt(process.versions.node) < 8 ? process.cwd : process.cwd()하면 오류가 억제되었지만 다른 오류가 발생했지만 ... brew update나를 위해 일했습니다.
shimanyi

4

Webpack 빌드를 실행할 때 노드가 async await이전 버전의 키워드를 이해하지 못하기 때문에 비슷한 오류가 발생했습니다 . webpack babel-plugin-transform-async-to- geneerator를 추가 하고 해결되었습니다. 이것은 약속으로 대체됩니다.


4
process._tickCallback (내부 / 프로세스 /next_tick.js:10에서
4 : 9)
npm ERR! 코드 ELIFECYCLE
npm ERR! 에르 노 1
npm ERR! ng-contact-manager@0.0.0 샘플 :`node src / server / dat
a / seed-db.js`
npm ERR! 종료 상태 1
npm ERR!
npm ERR! ng-contact-manager@0.0.0 샘플 스크립트에서 실패했습니다.
npm ERR! 이것은 아마도 npm의 문제가 아닙니다. 릭있다
위의 추가 로깅 출력.

npm ERR! 이 실행의 전체 로그는 다음에서 찾을 수 있습니다.

나는 여기에서 같은 문제가 마침내 마침내 해결 된 방법입니다! 오류 : 데이터베이스 연결 사용자 이름과 비밀번호를 수정 한 후 실행하면 터미널에서 내 오류npm run sample 가 발생했습니다. 데이터베이스에 대해 mlab을 사용하고 파일 .env에서 사용자 이름과 비밀번호를 올바르게 입력하는 것을 잊었습니다. 내가 일을 정정하면.

> ng-contact-manager@0.0.0 샘플 /Users/mohammedr.kemal/Downl
oads / Ex_Files_ANGULAR_API_AUTH / 운동 파일 / Ch01 / 01_04 / start
> 노드 src / server / data / seed-db.js

mongodb에 연결 ...
mongodb에 연결 ...
2 개의 레코드가 삽입되었습니다.
연결을 닫는 중 ...
끝난.
12 개의 레코드가 삽입되었습니다.
연결을 닫는 중 ...
끝난.

따라서 코드에서 만든 데이터 연결을 확인하는 것이 좋습니다.


3

새 패키지를 설치하거나 업데이트 한 후에도 같은 오류가 발생했습니다.

...
npm ERR! code ELIFECYCLE
npm ERR! errno 1
...

설치 명령을 다시 한 번 또는 여러 번 실행하는 데 도움이되었습니다. 그 후 오류가 사라졌습니다.


2

동일한 설정을 가진 두 개의 프로젝트를 실행하고 이미 하나의 프로젝트를 실행했을 때이 문제가 발생했습니다. 이것은 다른 프로젝트가 해당 포트 번호를 사용할 수 없음을 의미했습니다. 다른 프로젝트를 중단하자마자 아무런 문제가 없었습니다.


1

필자의 경우 Linux 대신 쓰기 권한이 문제였습니다.

npm run start

나는 시도했다 :

sudo npm run start

그런 다음 sudo 사용자 비밀번호를 입력하면 좋습니다.


1

Windows 솔루션은 Linux sudo 답변과 동일합니다. npm start (또는 무엇이든)를 관리자 권한으로 실행하십시오. 프로젝트에 새 모듈을 추가했습니다. 일부 기계에서 일했지만 다른 기계에서는 더 많이 잠겨있지 않았습니다. 시간이 걸렸지 만 새 모듈은 관리자 권한 없이는 사용할 수 없었던 "무언가"에 액세스해야했습니다.


0

노드 도커 컨테이너 내 에서 npm run build를 실행할 때 동일한 오류 코드가 발생했습니다 .

로컬로 컨테이너 내부에서 작업하는 동안 로컬로 설정하지 않은 동안 컴파일하는 동안 경고가 발생하면 오류를 발생시키는 옵션을 설정했습니다. 따라서이 오류는 NPM에서 수행중인 프로세스를 중지하는 것과 관련된 모든 것을 의미 할 수 있습니다.


0

내 경우에는 다른 디렉토리에서 프로젝트를 복사 할 때 비슷한 오류가 발생했습니다. 중요한 .babelrc와 같은 일부 숨겨진 파일이 누락되었습니다. 아 아 ... 모든 파일을 복사해야합니다! :)


0

이 문제는 git에서 코드를 가져오고 아직 노드 모듈 "npm install"을 설치하지 않은 경우에도 발생할 수 있습니다.


0

나에게 그것은 삼항 진술이었다.

이 줄, 특히 세미콜론에 대해 불평했습니다.

let num_coin = val.num_coin ? val.num_coin || 2;

나는 그것을 다음과 같이 바꿨다.

let num_coin = val.num_coin || 2;
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.