egg: Cannot find module 'diagnostics_channel'

474 阅读1分钟

新建egg项目后,执行 [npm run dev] ,报错如下

internal/modules/cjs/loader.js:883
throw err;
^

Error: Cannot find module 'diagnostics_channel'
Require stack:
- /Users/lilac/study_note/node/backend/node_modules/urllib-next/src/cjs/diagnosticsChannel.js
- /Users/lilac/study_note/node/backend/node_modules/urllib-next/src/cjs/HttpClient.js
- /Users/lilac/study_note/node/backend/node_modules/urllib-next/src/cjs/index.js
- /Users/lilac/study_note/node/backend/node_modules/egg/lib/core/httpclient_next.js
- /Users/lilac/study_note/node/backend/node_modules/egg/lib/egg.js
- /Users/lilac/study_note/node/backend/node_modules/egg/lib/application.js
- /Users/lilac/study_note/node/backend/node_modules/egg/index.js
- /Users/lilac/study_note/node/backend/node_modules/egg-bin/node_modules/egg-ts-helper/dist/utils.js
- /Users/lilac/study_note/node/backend/node_modules/egg-bin/node_modules/egg-ts-helper/dist/scripts/eggInfo.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.<anonymous> (/Users/lilac/study_note/node/backend/node_modules/urllib-next/src/cjs/diagnosticsChannel.js:7:47)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Module.require (internal/modules/cjs/loader.js:952:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/Users/lilac/study_note/node/backend/node_modules/urllib-next/src/cjs/diagnosticsChannel.js',
    '/Users/lilac/study_note/node/backend/node_modules/urllib-next/src/cjs/HttpClient.js',
    '/Users/lilac/study_note/node/backend/node_modules/urllib-next/src/cjs/index.js',
    '/Users/lilac/study_note/node/backend/node_modules/egg/lib/core/httpclient_next.js',
    '/Users/lilac/study_note/node/backend/node_modules/egg/lib/egg.js',
    '/Users/lilac/study_note/node/backend/node_modules/egg/lib/application.js',
    '/Users/lilac/study_note/node/backend/node_modules/egg/index.js',
    '/Users/lilac/study_note/node/backend/node_modules/egg-bin/node_modules/egg-ts-helper/dist/utils.js',

这个错误是是因为在代码中引用了 diagnostics_channel 模块,但这个模块是 node v15 版本的内置模块。所以升级到v15 以上即可。