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