nrm 安装成功之后,使用时报错

112 阅读1分钟

nrm 安装成功之后,使用时报错

  • 错误信息
C:\Users\Lenovo\AppData\Roaming\npm\node_modules\nrm\cli.js:9

const open = require('open');

Error [ERR_REQUIRE_ESM]: require() of ES Module C:\Users\Lenovo\AppData\Roaming\npm\node_modules\nrm\node_modules\open\index.js from C:\Users\Lenovo\AppData\Roaming\npm\node_modules\nrm\cli.js not supported.

Instead change the require of index.js in C:\Users\Lenovo\AppData\Roaming\npm\node_modules\nrm\cli.js to a dynamic import() which is available in all CommonJS modules.

at Object.<anonymous> (C:\Users\Lenovo\AppData\Roaming\npm\node_modules\nrm\cli.js:9:14) {

    code: 'ERR_REQUIRE_ESM'
}

Node.js v18.15.0
  • 原因

应该使用 open 的 CommonJs规范的包 ,现在 open v9.0.0 是 ES Module 版本的包

  • 解决方法
npm install -g nrm open@8.4.2 -save