【发布时间】:2021-10-21 15:29:41
【问题描述】:
我创建了一个 app.js 文件来尝试运行 node span 子进程。使用该子进程,我尝试运行 mongodump(用于创建备份的 mongodb 实用程序)。在我的本地计算机中,代码可以工作,但在我的 heroku 节点服务器中,代码失败并抛出如下错误:
2021-08-20T01:17:29.655225+00:00 app[web.1]: node:events:371
2021-08-20T01:17:29.655250+00:00 app[web.1]: throw er; // Unhandled 'error' event
2021-08-20T01:17:29.655250+00:00 app[web.1]: ^
2021-08-20T01:17:29.655250+00:00 app[web.1]:
2021-08-20T01:17:29.655251+00:00 app[web.1]: Error: spawn mongodump ENOENT
2021-08-20T01:17:29.655251+00:00 app[web.1]: at Process.ChildProcess._handle.onexit (node:internal/child_process:282:19)
2021-08-20T01:17:29.655252+00:00 app[web.1]: at onErrorNT (node:internal/child_process:480:16)
2021-08-20T01:17:29.655252+00:00 app[web.1]: at processTicksAndRejections (node:internal/process/task_queues:83:21)
2021-08-20T01:17:29.655252+00:00 app[web.1]: Emitted 'error' event on ChildProcess instance at:
2021-08-20T01:17:29.655253+00:00 app[web.1]: at Process.ChildProcess._handle.onexit (node:internal/child_process:288:12)
2021-08-20T01:17:29.655253+00:00 app[web.1]: at onErrorNT (node:internal/child_process:480:16)
2021-08-20T01:17:29.655253+00:00 app[web.1]: at processTicksAndRejections (node:internal/process/task_queues:83:21) {
2021-08-20T01:17:29.655253+00:00 app[web.1]: errno: -2,
2021-08-20T01:17:29.655254+00:00 app[web.1]: code: 'ENOENT',
2021-08-20T01:17:29.655254+00:00 app[web.1]: syscall: 'spawn mongodump',
2021-08-20T01:17:29.655254+00:00 app[web.1]: path: 'mongodump',
2021-08-20T01:17:29.655255+00:00 app[web.1]: spawnargs: [
2021-08-20T01:17:29.655255+00:00 app[web.1]: '--gzip',
2021-08-20T01:17:29.655255+00:00 app[web.1]: '--uri',
2021-08-20T01:17:29.655255+00:00 app[web.1]: 'my_mongo_atlas_uri,
2021-08-20T01:17:29.655255+00:00 app[web.1]: '--forceTableScan'
2021-08-20T01:17:29.655256+00:00 app[web.1]: ]
2021-08-20T01:17:29.655256+00:00 app[web.1]: }
2021-08-20T01:17:29.732198+00:00 heroku[web.1]: Process exited with status 1
谁能建议我缺少什么?
【问题讨论】:
标签: node.js mongodb heroku child-process mongodump