首页 > 解决方案 > 尝试访问节点 REPL 产生错误:找不到模块 'esm'

问题描述

我正在使用 Kubuntu 20.04.1,并且我刚刚通过 nvm (14.8.0) 安装了当前版本的节点,现在当尝试通过键入来访问节点 REPL 时node,我收到了以下错误消息:

$ node
internal/modules/cjs/loader.js:1083
  throw err;
  ^

Error: Cannot find module 'esm'
Require stack:
- internal/preload
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:1080:15)
    at Function.Module._load (internal/modules/cjs/loader.js:923:27)
    at Module.require (internal/modules/cjs/loader.js:1140:19)
    at Module._preloadModules (internal/modules/cjs/loader.js:1397:12)
    at loadPreloadModules (internal/bootstrap/pre_execution.js:446:5)
    at prepareMainThreadExecution (internal/bootstrap/pre_execution.js:74:3)
    at internal/main/repl.js:19:1 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ 'internal/preload' ]
} 

欢迎任何关于发生了什么以及如何解决它的建议

标签: node.jsread-eval-print-loop

解决方案


如果其他人面临同样的问题,我正在回答我自己的问题:要访问节点 REPL,只需全局安装 esm 包:

npm install -g esm

或者,如果只需要项目的包,请使用项目文件夹:

npm i esm

有关更多信息,请查看此链接


推荐阅读