centos7 安装nrm报错 require() of ES modules is not supported.
/usr/local/lib/node_modules/nrm/cli.js:9
const open = require('open');
^
Error [ERR_REQUIRE_ESM]: require() of ES Module /usr/local/lib/node_modules/nrm/node_modules/open/index.js from /usr/local/lib/node_modules/nrm/cli.js not supported.
Instead change the require of index.js in /usr/local/lib/node_modules/nrm/cli.js to a dynamic import() which is available in all CommonJS modules.
at Object.<anonymous> (/usr/local/lib/node_modules/nrm/cli.js:9:14) {
code: 'ERR_REQUIRE_ESM'
}
Node.js v18.16.0
*原因:应使用 open 的 CommonJs 规范包,现在 open v9.0.0 是 ESModule版本的包。 *
解决方法:
1.卸载当前依赖包
npm uninstall nrm
2.重新安装
npm install -g nrm open@8.4.2 --save