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.