NVM切换Node.js 18后,npm脚本仍使用Node.js 12问题求助
问题:npm脚本未使用nvm指定的Node.js 18版本,反而调用v12.3.1
问题现象
- 已通过nvm切换至Node.js 18.14.2,但执行
npm run {scriptName}时,脚本实际运行环境为Node.js v12.3.1 - 执行
nvm install 14 && nvm use 14后,脚本可正常使用Node.js 14版本
已排查的信息
nvm版本列表状态
执行nvm ls输出:
v14.21.3 -> v18.14.2 default -> 18.14.2 (-> v18.14.2) iojs -> N/A (default) unstable -> N/A (default) node -> stable (-> v18.14.2) (default) stable -> 18.14 (-> v18.14.2) (default) lts/* -> lts/hydrogen (-> N/A) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.17.1 (-> N/A) lts/carbon -> v8.17.0 (-> N/A) lts/dubnium -> v10.24.1 (-> N/A) lts/erbium -> v12.22.12 (-> N/A) lts/fermium -> v14.21.3 lts/gallium -> v16.19.1 (-> N/A) lts/hydrogen -> v18.15.0 (-> N/A)
终端与脚本内的Node版本不一致
- 终端执行
which node结果:~/.nvm/versions/node/v18.14.2/bin/node - 在脚本中加入以下代码后,输出为
stdout v12.3.1:
const { execSync } = require('child_process'); const stdout = execSync('node --version'); console.log('stdout ', stdout.toString());
当前环境版本信息
- npm版本:6.14.18
- nvm版本:0.39.3
已尝试的无效操作
- 删除所有可定位到的Node.js安装(包括brew安装的版本)
- 卸载并重装nvm,清理旧安装文件后,终端执行
which node无结果,但脚本仍调用v12.3.1
求助
如何找到Node.js v12.3.1的安装位置,或解决脚本调用错误Node版本的问题?
内容的提问来源于stack exchange,提问作者vijayagurdeep
相关产品推荐
相关产品推荐

