作为一名长期使用Node.js开发的程序员,我遇到过无数次因为版本残留导致的各种诡异问题。比如全局安装的包突然失效、npm脚本执行报错、甚至某些模块无法编译。这些问题90%以上都源于不彻底的卸载过程。
Node.js在安装时会在三个关键位置留下痕迹:
首先通过Windows标准方式卸载:
appwiz.cpl回车注意:如果安装了多个Node.js版本(比如12.x和14.x共存),需要逐个卸载
控制面板卸载后,还需要手动清理以下目录:
默认路径是C:\Program Files\nodejs,如果你修改过安装路径,需要到你指定的目录下删除整个nodejs文件夹。
打开资源管理器,在地址栏输入:
code复制%AppData%\npm
%AppData%\npm-cache
删除这两个文件夹中的所有内容。
检查并删除:
code复制C:\Users\你的用户名\AppData\Roaming\npm
C:\Users\你的用户名\AppData\Roaming\npm-cache
sysdm.cpl打开系统属性打开命令提示符(cmd),依次执行:
bash复制node -v
npm -v
如果这两个命令都提示"不是内部或外部命令",说明卸载成功。
访问Node.js官网(https://nodejs.org),我建议选择LTS版本(长期支持版)而非Current版,除非你有特定需求。
专业建议:对于生产环境,始终使用LTS版本;开发环境可以考虑使用nvm-windows管理多个Node版本
安装完成后,打开新的命令提示符窗口(重要:必须新开窗口才能加载新的环境变量),执行:
bash复制node -v
npm -v
正常应该显示版本号而非错误信息。
如果提示"node不是内部或外部命令",可能是:
在Windows上,建议修改npm全局安装位置以避免权限问题:
bash复制npm config set prefix "C:\Users\你的用户名\AppData\Roaming\npm-global"
然后将这个路径添加到用户环境变量的Path中。
如果你需要频繁切换Node版本,可以考虑:
nvm-windows(Windows平台)
bash复制nvm install 14.17.0
nvm use 14.17.0
fnm(跨平台,性能更好)
bash复制fnm install 16.13.0
fnm use 16.13.0
国内用户建议设置淘宝镜像:
bash复制npm config set registry https://registry.npmmirror.com
建议全局安装以下开发工具:
bash复制npm install -g yarn
npm install -g typescript
npm install -g @vue/cli
npm install -g create-react-app
执行以下命令查看npm配置:
bash复制npm config list
重点关注:
这是最常见的问题之一,解决方案:
bash复制npm cache clean --force
npm rebuild node-sass
在项目目录下执行:
bash复制npm install --global-style
这样可以避免因权限导致的安装失败。
如果遇到"Module not found"等错误,尝试:
bash复制rm -rf node_modules package-lock.json
npm install
经过多年Node.js开发,我总结出几个关键点:
npm cache clean --force)最后一个小技巧:在package.json中添加"engines"字段可以指定项目所需的Node版本范围:
json复制"engines": {
"node": ">=14.0.0 <17.0.0",
"npm": ">=6.0.0"
}