Error: uncaughtException: Cannot find module weak

Error: uncaughtException: Cannot find module weak

我的 docker 容器中有以下 npmnode 版本以及 Ubuntu 16.04.7 LTS 作为基础映像。这里一切正常。

$ npm --version
6.13.4

$ node --version
v8.17.0

今天我已经将 docker 图像更改为 Ubuntu 20.04.3 LTS 并升级了 npmnode 版本。

$ npm --version
8.1.2

$ node --version
v16.13.1

使用这些版本,我执行了以下命令。

npm install
npm cache clean --force

现在我的应用程序出现以下错误。

2022-01-06 02:50:21.702 - error: agent_64: "Error: Cannot find module 'weak'\n" +
  'Require stack:\n' +
  '- /mlbs/node_modules/dnode/index.js\n' +
  '- /mlbs/core/rpc.js\n' +
  '- /mlbs/core/base-server.js\n' +
  '- /mlbs/core/mlbs.js\n' +
  '- /mlbs/plugins/mlbs.server.agent/bin/agent.js\n' +
  '    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)\n' +
  '    at Function.Module._load (node:internal/modules/cjs/loader:778:27)\n' +
  '    at Module.require (node:internal/modules/cjs/loader:1005:19)\n' +
  '    at require (node:internal/modules/cjs/helpers:102:18)\n' +
  '    at new D (/mlbs/node_modules/dnode/index.js:28:20)\n' +
  '    at module.exports (/mlbs/node_modules/dnode/index.js:8:12)\n' +
  '    at Rpc.createStream (/mlbs/core/rpc.js:151:20)\n' +
  '    at Server.onConnection (/mlbs/core/base-server.js:608:21)\n' +
  '    at Server.emit (node:events:390:28)\n' +
  '    at Server.emit (node:domain:475:12)'
2022-01-06 02:50:21.708 - error: uncaughtException: Cannot find module 'weak'
Require stack:
- /mlbs/node_modules/dnode/index.js
- /mlbs/core/rpc.js
- /mlbs/core/base-server.js
- /mlbs/core/mlbs.js
- /mlbs/plugins/mlbs.server.agent/bin/agent.js date=Thu Jan 06 2022 02:50:21 GMT+0000 (Coordinated Universal Time), pid=1, uid=0, gid=0, cwd=/, execPath=/usr/bin/node, version=v16.13.1, argv=[/usr/bin/node, /mlbs/plugins/mlbs.server.agent/bin/agent.js, start, -i, agent_64, -p, 32000], rss=69791744, heapTotal=26386432, heapUsed=24357592, external=18881423, arrayBuffers=17940662, loadavg=[0.23, 0.34, 0.39], uptime=43161.61, trace=[column=15, file=node:internal/modules/cjs/loader, function=Module._resolveFilename, line=933, method=_resolveFilename, native=false, column=27, file=node:internal/modules/cjs/loader, function=Module._load, line=778, method=_load, native=false, column=19, file=node:internal/modules/cjs/loader, function=Module.require, line=1005, method=require, native=false, column=18, file=node:internal/modules/cjs/helpers, function=require, line=102, method=null, native=false, column=20, file=/mlbs/node_modules/dnode/index.js, function=new D, line=28, method=null, native=false, column=12, file=/mlbs/node_modules/dnode/index.js, function=module.exports, line=8, method=exports, native=false, column=20, file=/mlbs/core/rpc.js, function=Rpc.createStream, line=151, method=createStream, native=false, column=21, file=/mlbs/core/base-server.js, function=Server.onConnection, line=608, method=onConnection, native=false, column=28, file=node:events, function=Server.emit, line=390, method=emit, native=false, column=12, file=node:domain, function=Server.emit, line=475, method=emit, native=false], stack=[Error: Cannot find module 'weak', Require stack:, - /mlbs/node_modules/dnode/index.js, - /mlbs/core/rpc.js, - /mlbs/core/base-server.js, - /mlbs/core/mlbs.js, - /mlbs/plugins/mlbs.server.agent/bin/agent.js,     at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15),     at Function.Module._load (node:internal/modules/cjs/loader:778:27),     at Module.require (node:internal/modules/cjs/loader:1005:19),     at require (node:internal/modules/cjs/helpers:102:18),     at new D (/mlbs/node_modules/dnode/index.js:28:20),     at module.exports (/mlbs/node_modules/dnode/index.js:8:12),     at Rpc.createStream (/mlbs/core/rpc.js:151:20),     at Server.onConnection (/mlbs/core/base-server.js:608:21),     at Server.emit (node:events:390:28),     at Server.emit (node:domain:475:12)]

我搜索了错误但无法理解解决方案。我将非常感谢任何帮助。谢谢。

问题已通过降级 npm to 6.14.12node to v10.24.1 版本解决。