Сбой сервера Nano express на Heroku & AWS - локально работает нормально - не может отследить ошибку 'dest.on ()' - PullRequest
0 голосов
/ 28 апреля 2020

Соответствующая трассировка стека ниже - от Heroku:

2020-04-28T17:49:11.997756+00:00 app[web.1]: Your app is listening on port 14385
2020-04-28T17:49:12.491486+00:00 heroku[web.1]: State changed from starting to up
2020-04-28T17:49:41.748150+00:00 heroku[web.1]: State changed from up to crashed
2020-04-28T17:49:41.649885+00:00 app[web.1]: _stream_readable.js:660
2020-04-28T17:49:41.649896+00:00 app[web.1]: dest.on('unpipe', onunpipe);
2020-04-28T17:49:41.649897+00:00 app[web.1]: ^
2020-04-28T17:49:41.649897+00:00 app[web.1]:
2020-04-28T17:49:41.649898+00:00 app[web.1]: TypeError: dest.on is not a function
2020-04-28T17:49:41.649899+00:00 app[web.1]: at ReadStream.Readable.pipe (_stream_readable.js:660:8)
2020-04-28T17:49:41.649900+00:00 app[web.1]: at SendStream.stream (/app/node_modules/send/index.js:798:10)
2020-04-28T17:49:41.649900+00:00 app[web.1]: at SendStream.send (/app/node_modules/send/index.js:707:8)
2020-04-28T17:49:41.649900+00:00 app[web.1]: at /app/node_modules/send/index.js:774:12
2020-04-28T17:49:41.649901+00:00 app[web.1]: at FSReqCallback.oncomplete (fs.js:172:5)

От AWS (EC2 использует экземпляр Bitnami для NodeJS приложений):

Your app is listening on port 8080
_stream_readable.js:666
  dest.on('unpipe', onunpipe);
       ^

TypeError: dest.on is not a function
    at ReadStream.Readable.pipe (_stream_readable.js:666:8)
    at SendStream.stream (/opt/bitnami/apps/demo/htdocs/node_modules/send/index.js:798:10)
    at SendStream.send (/opt/bitnami/apps/demo/htdocs/node_modules/send/index.js:707:8)
    at /opt/bitnami/apps/coronavirus-demo/htdocs/node_modules/send/index.js:774:12
    at FSReqCallback.oncomplete (fs.js:167:5)
error: Forever detected script exited with code: 1
error: Script restart attempt #1

Я вижу, что мы, кажется, умираем от _stream_readable. js: 666, где 'dest.on' не определен - и я сейчас в зарослях Node - поэтому я не уверен, что ищу , но я обнаружил, что мы определяем этот метод ниже в файле:

https://github.com/nodejs/node/blob/master/lib/_stream_readable.js: 852 -

Это так просто, как мы оцениваем этот _stream_readable файл сверху вниз, и мы не определили on () по строке 666, и поэтому он не работает?

Но почему он будет работать локально? Приложение отлично работает с сервером Nano express на Macbook Pro - тот же пакет. json и блокировка файлов - никаких различий в devDependencies (единственные devDependencies, как Mocha, Sinon и Chai для тестов)

Я запустил приложение локально с NODE_ENV = production и NPM_CONFIG_PRODUCTION = true (это приложение React & Express [Nanoexpress]), и оно загружается, и я могу получить то, что мне нужно, просто отлично.

Это только когда я отправляю sh в Героку / AWS, я получаю эту ошибку. Такое ощущение, что мы пытаемся использовать функцию до ее определения ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...