Lỗi ELIFECYCLE Node.js có nghĩa là gì?


211

ELIFECYCLE có nghĩa là gì?

Đây là mã ứng dụng của tôi: https://gist.github.com/samholmes/388ca4552c5936b52c5d

Khi tôi chạy lệnh 'blast-email', nó sẽ chạy trong một thời gian cho đến khi gặp sự cố trong thời gian ngắn với lỗi:

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

Các npm-debug.logtập tin cũng được bao gồm trong ý chính.

Tôi đang tìm kiếm một trong hai câu trả lời: ELIFECYCLE có nghĩa là gì? (hoặc) Tại sao tôi nhận được lỗi trong mã ứng dụng của mình?


Chỉ nhận được lỗi tương tự từ quy trình gói web của tôi (đã không khởi động lại sau vài giờ và tôi đã thực hiện một thay đổi đã phá vỡ quá trình xây dựng gói webpack). Mặt khác, tôi chưa bao giờ thấy lỗi trước đó và khởi động lại quá trình đã giải quyết vấn đề.
minh

1
ps -ax | grep npm .. và giết các quy trình
npm

Câu trả lời:


62

Về cơ bản, nó nói rằng nó không sinh ra quá trình của bạn không phải do sự cho phép mà là do lỗi trong tập lệnh của bạn. Nguồn

Bạn không có bất kỳ vấn đề thực hiện NODE_ENV=production node app.js?


Tôi không có bất kỳ vấn đề khi thực hiện kịch bản. Trong thực tế, nó hoạt động tốt. Tôi chỉ gặp lỗi này khi chạy 'blast-email', vòng lặp async.eachSeries và gửi email bằng cách sử dụng gật đầu và vận chuyển ủy quyền mà bạn có thể thấy trong mã nguồn. Nó có thể là một vấn đề với gật đầu hoặc vận chuyển?
Sam

trong emailer.js, có các tham chiếu đến chức năng 'lỗi' nhưng tôi không thể tìm thấy nó.
Pierre Inglebert

Chức năng nào trong emailer.js?
Sam


Hàm lỗi được xác định bên dưới trong phạm vi đó: gist.github.com/samholmes/388ca4552c5936b52c5d#file-app-js-L81
Sam

43

Mọi người có thể nghĩ rằng điều này là do các phiên bản lỗi thời của npm và nút, nhưng thực tế không phải vậy.

Đúng như Pierre Inglebert nói, nếu bạn nhìn vào nguồn bạn có thể thấy điều đó End of lifecyclecó nghĩa là chương trình bất ngờ dừng lại. Điều này có thể có nhiều lý do. Vì vậy, nó không phải là một lỗi cú pháp và không phải là một ngoại lệ / lỗi dự kiến.

Lỗi xuất hiện với tôi khi một công cụ khác đã sử dụng cổng http (3000) được xác định trong tập lệnh nút của tôi. Khi bạn chạy ứng dụng nút của mình trên cổng 80, hãy đảm bảo rằng bạn đã dừng máy chủ web Apache (làm ví dụ).


2
Tương tự đối với tôi, cổng được sử dụng bởi một chương trình khác
stalk

Sau đó, bạn có thể truy cập stackoverflow.com/questions/39432667/ từ
estellezg

1
Trong trường hợp của tôi, tôi đã không nhận thấy Error: listen EADDRINUSE :::3000cảnh báo
estellezg

1
Lỗi thực sự mơ hồ nếu bạn đang sử dụng phiên bản cũ của nút / npm, tôi nghĩ rằng tôi phải nâng cấp, thay vào đó chỉ đơn giản là tải xuống thất bại
Alex

13

Khi làm việc trên một chủ đề WordPress, tôi đã gặp cùng một ELIFECYCLElỗi với đầu ra hơi khác nhau:

npm ERR! Darwin 14,5.0
npm ERR! argv "/usr/local/Cellar/node/7.6.0/bin/node" "/ usr / local / bin / npm" "install"
npm ERR! nút v7.6.0
npm ERR! npm v3.7.3
npm ERR! mã ELIFECYCLE
npm ERR! Foundationsix@1.0.0 postinstall: `bower install && gulp build`
npm ERR! Thoát trạng thái 1
npm ERR! 
npm ERR! Thất bại tại tập lệnh postinstallix@1.0.0 'bower install && gulp build'.
npm ERR! Hãy chắc chắn rằng bạn đã cài đặt phiên bản mới nhất của node.js và npm.
npm ERR! Nếu bạn làm như vậy, đây rất có thể là một vấn đề với gói Foundationsix,
npm ERR! không phải với npm chính nó.
npm ERR! Nói với tác giả rằng điều này không thành công trên hệ thống của bạn:
npm ERR! cài đặt bower && gulp xây dựng

Sau khi thử npm installmột lần nữa với cùng kết quả, tôi đã thử bower install. Khi đó là thành công tôi đã cố gắng gulp buildvà điều đó cũng làm việc.

Bây giờ mọi thứ đều hoạt động tốt. Không biết tại sao chạy từng lệnh riêng biệt lại hoạt động khi &&thất bại nhưng có thể người khác sẽ thấy câu trả lời này hữu ích.


@Matthew Đọc - Bạn đã định dạng lại khối mã đó như thế nào? Đó là một cải tiến rõ ràng nhưng tôi không chắc chắn cách tự làm ... Tôi nghĩ rằng tôi đã từng sử dụng 3 dấu tích ngược, nhấn 'enter' cho một dòng mới, sau đó là mã của tôi (tiếp theo là 'nhập' và 3 dấu tích ngược để đóng khối mã), nhưng điều đó dường như không còn hiệu quả với tôi nữa. Con trỏ?
adam-asdf

Nếu bạn nhấp vào "chỉnh sửa X giờ / ngày trước" phía trên tên của tôi ở đó, sau đó nhấp vào "nguồn", nó sẽ hiển thị cho bạn! Chỉ cần một thẻ văn bản được định dạng trước. Tùy chọn khác sẽ được thụt lề mỗi dòng bởi 4 khoảng trắng. Stack Overflow không hỗ trợ cú pháp backtick ba lần như GitHub / Slack / etc. - định dạng của bạn cuối cùng đã được hiểu là ba khối backticky đơn liên tiếp, với khối đầu tiên và cuối cùng hoàn toàn trống rỗng (đó là lý do tại sao dòng đầu tiên bị lõm xuống một chút và dòng cuối cùng có một chút không gian được tô sáng ở cuối) .
Matthew đọc

Trong trường hợp của tôi, tôi đã quên chạy npm install(Tôi mới sử dụng node.js). Câu trả lời của bạn đã dẫn tôi đi đúng hướng. Cảm ơn.
Kon

13

Trong trường hợp của tôi, đó là do bộ nhớ RAM thấp, khi thư viện nén ảnh không thể xử lý ảnh lớn hơn.


1
Tôi gặp vấn đề tương tự, đó là do thiếu bộ nhớ.
Envil

2
Tương tự! Có vẻ như ELIFECYCLE errno 137 có thể được gây ra do hết bộ nhớ. Trong trường hợp của tôi, máy chủ của tôi có RAM 1Gb. Nâng cấp nó lên 2Gb và bản dựng của tôi đã thông qua.
Firze

1
Tôi chạy npm run watchdưới Docker và nhận được lỗi từ câu hỏi. Khi tôi tăng giới hạn bộ nhớ và CPU của docker, vấn đề đã biến mất.
Paul Basenko

5

Nếu bạn đến đây như tôi đã làm, sau khi nhận được một lỗi tương tự khi thử hướng dẫn React Bắt đầu , bạn có thể muốn biết rằng sự cố có thể xảy ra do không cài đặt Watchman. Tải xuống tại đây hoặc cài đặt nó với Homebrew brew install watchmanvà thử lại: https://facebook.github.io/watchman/docs/install.html

PS: Bạn có thể muốn làm brew updateđầu tiên.


Cảm ơn ... cố gắng học cách xây dựng phản ứng của người khác. Checkin github đã bị tàn bạo. Vì vậy, nhiều bước thiết lập tài liệu không chính xác!
Dronz

1
@Dronz Vâng, rõ ràng .. Không biết tại sao.
Magne

1
@Dronz Không chắc chắn. Tôi cần nó trên máy Mac của tôi.
Magne

1
Cảm ơn. Nó dường như không cần thiết trên Windows.
Dronz

1
Tôi đã định cấu hình một mẫu dựng sẵn trong WordPress để nhận với nhóm phát triển, gặp lỗi tương tự và thay đổi dòng đã khắc cwd: parseInt(process.versions.node) < 8 ? process.cwd : process.cwd()phục lỗi nhưng tạo ra một mẫu khác ... brew updatehoạt động với tôi.
shimanyi

4

Khi chạy Webpack build, tôi gặp lỗi tương tự vì nút không hiểu async awaittừ khóa trên các phiên bản cũ hơn. Tôi đã thêm webpack babel-plugin-Transform-async-to-Generator và nó đã được giải quyết. Điều này thay thế chúng bằng những lời hứa.


4
tại process._tickCallback (nội bộ / process / next_tick.js: 10
4: 9)
npm ERR! mã ELIFECYCLE
npm ERR! sai 1
npm ERR! mẫu ng-contact-manager@0.0.0: `nút src / server / dat
a / seed-db.js`
npm ERR! Thoát trạng thái 1
npm ERR!
npm ERR! Thất bại tại tập lệnh mẫu ng-contact-manager@0.0.0.
npm ERR! Đây có lẽ không phải là một vấn đề với npm. Có thích
đầu ra đăng nhập bổ sung ở trên.

npm ERR! Một bản ghi đầy đủ của lần chạy này có thể được tìm thấy trong:

Tôi có một vấn đề tương tự ở đây là làm thế nào tôi đã giải quyết cuối cùng! lỗi: lỗi của tôi từ thiết bị đầu cuối khi tôi chạy npm run sample sau khi sửa tên người dùng và mật khẩu kết nối cơ sở dữ liệu của tôi. Tôi đang sử dụng mlab cho cơ sở dữ liệu của mình và dưới tệp .env tôi quên đặt đúng tên người dùng và mật khẩu. Khi tôi sửa rằng tôi làm việc.

> ng-contact-manager@0.0.0 mẫu /Users/mohammedr.kemal/Downl
oads / Ex_Files_ANGULAR_API_AUTH / Tập thể dục / Ch01 / 01_04 / bắt đầu
> nút src / máy chủ / dữ liệu / seed-db.js

kết nối với mongodb ...
kết nối với mongodb ...
2 hồ sơ chèn vào.
đóng kết nối ...
làm xong.
12 hồ sơ được chèn.
đóng kết nối ...
làm xong.

Vì vậy, có thể tốt để xem bất kỳ kết nối dữ liệu nào chúng tôi thực hiện trong mã của chúng tôi nếu chúng tôi có.


3

Tôi đã gặp lỗi tương tự sau khi tôi cài đặt các gói mới hoặc cập nhật chúng:

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

Nó giúp tôi chạy lệnh cài đặt một lần nữa hoặc một vài lần. Sau đó, lỗi biến mất.


2

Tôi gặp vấn đề này khi tôi đang chạy hai dự án có cùng một thiết lập và tôi đã có một dự án đang chạy. Điều này có nghĩa là dự án khác không thể sử dụng số cổng đó. Ngay khi tôi dừng dự án khác, tôi không gặp vấn đề gì.


1

Trong trường hợp của tôi, đó là vấn đề cấp phép với Linux, thay vì viết:

npm run start

Tôi đã thử:

sudo npm run start

Sau đó đặt mật khẩu người dùng sudo của bạn và bạn tốt để đi!


1

Giải pháp Windows giống như câu trả lời sudo của Linux. Chạy bắt đầu npm (hoặc bất cứ điều gì) với tư cách Quản trị viên. Tôi đã thêm một mô-đun mới vào dự án của tôi. Làm việc trên một số máy nhưng trên các máy khác bị khóa nhiều hơn, không quá nhiều. Mất một lúc để tìm ra nó, nhưng mô-đun mới cần truy cập vào "thứ gì đó" không có sẵn mà không có sự cho phép của quản trị viên.


0

Tôi đã có cùng một mã lỗi khi tôi đang chạy npm run build bên trong nút docker container.

Tại địa phương nó đang hoạt động trong khi bên trong một container tôi đã đặt tùy chọn để ném lỗi khi có cảnh báo trong quá trình biên dịch trong khi cục bộ nó không được đặt. Vì vậy, lỗi này có thể có nghĩa là bất cứ điều gì được kết nối với việc dừng quá trình đang được thực hiện bởi NPM


0

Trong trường hợp của tôi, tôi đã tạo ra một lỗi tương tự khi tôi sao chép dự án từ thư mục khác. một số tệp ẩn, như .babelrc quan trọng, đã bị thiếu. VẬY ... hãy chắc chắn rằng bạn sao chép tất cả các tập tin! :)


0

Vấn đề này cũng có thể xảy ra khi bạn kéo mã từ git và chưa cài đặt mô-đun nút "npm install".


0

Đối với tôi đó là một tuyên bố ternary:

Nó đã phàn nàn về dòng này nói riêng, về dấu chấm phẩy:

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

Tôi đã đổi nó thành:

let num_coin = val.num_coin || 2;
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.