&引用;找不到模块";在Heroku或RedHat Openshift Online上部署node.js程序时出现错误消息 `环境: DEV_MODE=false 节点_ENV=生产 调试端口=5858 通过npm启动。。。 npm信息如果以“ok”结尾,则有效 npm信息使用npm@5.6.0 npm信息使用node@v8.9.4 npm信息生命周期SuperCineBot@1.0.0~prestart:SuperCineBot@1.0.0 npm信息生命周期SuperCineBot@1.0.0~start:SuperCineBot@1.0.0 SuperCineBot@1.0.0开始/opt/app root/src 主节点 module.js:540 犯错误; ^ 错误:找不到模块'./dnssec' 在Function.Module.\u解析文件名(Module.js:538:15) 在Function.Module.\u加载(Module.js:468:25) at Module.require(Module.js:587:17) 根据需要(内部/module.js:11:18) 在Heroku或Redhat Openshift Online上。即使“/dnssec”模块位于node_modules文件夹中,我也会收到相同的错误消息
有人有主意吗&引用;找不到模块";在Heroku或RedHat Openshift Online上部署node.js程序时出现错误消息 `环境: DEV_MODE=false 节点_ENV=生产 调试端口=5858 通过npm启动。。。 npm信息如果以“ok”结尾,则有效 npm信息使用npm@5.6.0 npm信息使用node@v8.9.4 npm信息生命周期SuperCineBot@1.0.0~prestart:SuperCineBot@1.0.0 npm信息生命周期SuperCineBot@1.0.0~start:SuperCineBot@1.0.0 SuperCineBot@1.0.0开始/opt/app root/src 主节点 module.js:540 犯错误; ^ 错误:找不到模块'./dnssec' 在Function.Module.\u解析文件名(Module.js:538:15) 在Function.Module.\u加载(Module.js:468:25) at Module.require(Module.js:587:17) 根据需要(内部/module.js:11:18) 在Heroku或Redhat Openshift Online上。即使“/dnssec”模块位于node_modules文件夹中,我也会收到相同的错误消息,node.js,heroku,openshift-online,Node.js,Heroku,Openshift Online,有人有主意吗 谢谢你的帮助 您是通过相对路径导入的,因此需要确保dnssec.js存在于执行导入的人旁边(在您的情况下可能是index.js) 因此,您的层次结构需要如下所示: `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
谢谢你的帮助 您是通过相对路径导入的,因此需要确保
dnssec.js
存在于执行导入的人旁边(在您的情况下可能是index.js
)
因此,您的层次结构需要如下所示:
`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
`
node\u模块
不适合这个模块,因为从那里导入不应该是相对的。我忘了提到,当我从eclipse启动它时,代码在本地工作,dnssec.js不是从主程序调用的,而是由另一个模块调用的。查看您的存储库,没有任何dnssec.js文件吗?你确定你犯了罪吗?而且,能够从另一个模块调用它也没有什么帮助——也许文件在同一个目录中?第二次检查后,我意识到我没有提交它!谢谢你的帮助!
./src
index.js
dnssec.js