Node.js — events.js: 154 выбросить ошибку написать EPIPE; Сбой программы

Пытаюсь запустить свою программу Node.js, которая работала долгое время, а теперь вдруг... нет. Я пытаюсь выяснить проблему, и я подумал, что было бы полезно, если бы я написал здесь, чтобы попытаться отследить ее. Вот вывод журнала:

events.js:154
    throw er; // Unhandled 'error' event
    ^

Error: write EPIPE
    at exports._errnoException (util.js:856:11)
    at WriteWrap.afterWrite (net.js:767:14)

Честно говоря, я понятия не имею, почему он выдает ошибку EPIPE, я проверил, что ничего не работает, что могло бы помешать, и он работает в той же самой оболочке, что и раньше. Если есть что-то, что я должен добавить, дайте мне знать.


person gmemstr    schedule 26.02.2016    source источник
comment
Связаны с github.com/npm/npm/issues/11153?   -  person Bergi    schedule 26.02.2016


Ответы (3)


Цитирование документа

EPIPE: запись в канал, сокет или FIFO, для которой нет процесса для чтения данных. Обычно встречается на уровнях net и http, указывая на то, что удаленная сторона потока, в который выполняется запись, закрыта.

Пара может быть pipe или socket, когда другой конец разорвал соединение. Это ошибка времени выполнения; вы ничего не можете сделать, кроме как закрыть свой конец.

Пожалуйста, проверьте, нет ли в вашей программе одного большого файла или длинного запроса HTTP-пакета.

В этом случае следующий код может успешно завершить вашу программу:

process.stdout.on('error', function( err ) {
    if (err.code == "EPIPE") {
        process.exit(0);
    }
});
person zangw    schedule 26.02.2016
comment
В основном проблема (извините за столь долгий ответ, но я некоторое время не проверял свою учетную запись SO) заключалась в том, что у файла не было надлежащих разрешений для доступа к моей учетной записи пользователя. - person gmemstr; 18.07.2017

В моем случае проблема заключалась в количестве наблюдателей inotify, как обсуждалось в этом вопрос

А вот оригинальная документация по прослушиванию

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
person M Chambers    schedule 26.02.2016

Установка libfontconfig может решить проблему. У меня возникла такая же проблема, когда я пытался загрузить PDF с сервера. И libfontconfig решил проблему.

sudo apt-get install libfontconfig

Примечание. Источник решения -> Ошибка: запись EPIPE

person Samiul    schedule 22.03.2020