第三方软件安装 Node 导致原有项目运行错误
背景
安装一个软件时, 此软件自带 Node.js , 会安装它自带的 node , 安装后 node 版本升级导致现有项目运行不起来
环境
window10 x64
原 node : 10.21.0
第三方软件安装的 node : 14 (具体的忘了)
解决过程
- 系统 - 高级系统设置 - 环境变量 - 系统变量, 修改 Path , 将程序新加入的该软件安装的 node.js 路径移到最底部(优先级最低)
- 我是查看 360 安全卫士 - 安全防护中心 - 日志记录, 发现的这个软件修改了该环境变量
- 保险起见, nvm 切换一下 node.js 环境
- 不用 nvm 应该也没事儿, 我之前试了下, 切换后 window powershell 看 node 版本就正常了
- 用户名中带中文的, nvm 会报错, 我是刚好公司换电脑, 换了电脑 C 盘是新的了, 新建的英文账号, 才安装成功了 nvm
- webstorm 的 terminal 仍显示新 node 版本, 跟 powershell 显示的不一样;
- 先试了下 webstorm settings 里搜了搜 node , 找到了设置(Languages & Frameworks > Node.js and NPM), 修改 Node interpreter 为之前的 node 路径
- 再试了下, 还是错的…
- 网上搜了下, 找到了这个 https://stackoverflow.com/questions/53559809/phpstorm-webstorm-terminal-shows-old-npm-version 问答, 按解决方案设置后重启 webstorm 解决
- settings 搜索 terminal , 找到设置(Settings > Tools > Terminal)
- 取消选中 Add node_modules/.bin from the project root to %PATH%
- 确定, 重启 webstorm
其他
- node 版本升级后, 我这儿项目运行不起来是因为 node-sass 和 sass-loader 包报错, 之后把环境弄正常了重新 gitlab 下项目安装依赖运行还是报错, 最后把这两个都降大版本重新安装后, 试了几次试出来了可以运行了