You need to enable JavaScript to run this app. npm脚本执行的Node版本与命令行直接运行版本不一致问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

npm脚本执行的Node版本与命令行直接运行版本不一致问题咨询

版本不一致的核心原因

  • npm执行脚本时会自动修改当前会话的PATH变量,优先级顺序为「项目本地node_modules/.bin目录 > npm程序自身所在的Node安装目录 > 系统环境变量配置的PATH路径」。如果你的全局npm程序是绑定在v10版本的Node目录下,执行npm run时会优先调用同目录下的v10版本node.exe,不会使用环境变量中优先级更低的v14版本Node。
  • 项目本地安装了node npm包:npm官方源存在名为node的包,用于分发Node.js二进制文件,如果项目依赖中安装了对应v10版本的该包,npm执行脚本时会优先调用本地的这个Node版本。
  • 版本管理工具适配问题:如果你使用了nvm-windows、nvs等Node版本管理工具,这类工具对git bash的适配可能存在缺陷,会出现当前shell激活的是v14版本,但全局npm绑定的仍然是旧版v10的情况,导致调用路径不一致。
  • 项目根目录下存在.nvmrc、.node-version等版本配置文件,npm或版本管理工具会自动读取该文件切换到配置的v10版本执行脚本。

排查修复方案

  • 在git bash中执行which npm查看npm的安装路径,如果路径包含v10.23.0相关的目录,说明全局npm绑定的是旧版Node,重新安装v14版本对应的npm即可修复。
  • 执行npm ls node检查项目是否本地安装了node包,若存在执行npm uninstall node卸载本地的Node包即可。
  • 执行npm config get node-version检查npm是否固定了Node运行版本,若有输出执行npm config delete node-version清除配置即可。
  • 检查项目根目录下的.nvmrc、.node-version文件,确认是否配置了v10版本,根据需要修改或删除该文件即可。

内容的提问来源于stack exchange,提问作者Lee Goddard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 04:06:00