Сообщение об ошибке «Не удается найти модуль» при развертывании программы node.js в Heroku или RedHat Openshift Online - PullRequest
0 голосов
/ 08 мая 2018
`Environment: 
    DEV_MODE=false
    NODE_ENV=production
    DEBUG_PORT=5858
Launching via npm...
npm info it worked if it ends with ok
npm info using npm@5.6.0
npm info using node@v8.9.4
npm info lifecycle SuperCineBot@1.0.0~prestart: SuperCineBot@1.0.0
npm info lifecycle SuperCineBot@1.0.0~start: SuperCineBot@1.0.0

SuperCineBot@1.0.0 start /opt/app-root/src
node main

module.js:540
    throw err;
    ^

Error: Cannot find module './dnssec'
    at Function.Module._resolveFilename (module.js:538:15)
    at Function.Module._load (module.js:468:25)
    at Module.require (module.js:587:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/opt/app-root/src/node_modules/sshpk/lib/formats/auto.js:16:14)
    at Module._compile (module.js:643:30)
    at Object.Module._extensions..js (module.js:654:10)
    at Module.load (module.js:556:32)
    at tryModuleLoad (module.js:499:12)
    at Function.Module._load (module.js:491:3)
npm info lifecycle SuperCineBot@1.0.0~start: Failed to exec start script
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! SuperCineBot@1.0.0 start: `node main`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the SuperCineBot@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /opt/app-root/src/.npm/_logs/2018-05-07T20_59_43_900Z-debug.log
`

Привет,

Я знаю, что вопрос уже был опубликован много раз, но у меня возникают проблемы с развертыванием моего кода (https://github.com/yukinoe/kizabot) в Heroku или Redhat Openshift Online. У меня такое же сообщение об ошибке, даже если "./dnssec "модуль находится в папке node_modules.

У кого-нибудь есть идея?

Спасибо за помощь.

1 Ответ

0 голосов
/ 08 мая 2018

Вы импортируете по относительному пути, поэтому вам нужно убедиться, что dnssec.js существует рядом с тем, кто делает импорт (возможно, index.js в вашем случае).

Так что ваша иерархия нуждаетсявыглядеть примерно так:

./src
   index.js
   dnssec.js

node_modules не вписывается в этот, поскольку импорт оттуда не должен быть относительным.

...