Skip to content

1. 错误信息为:

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

2. 原因:

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

3. 解决方法:

npm install -g nrm open@8.4.2 -save