指路牌

  • nvm-windows
  • nvm镜像源设置
  • nvm使用过程中的坑
  • nvm安装成功,node安装成功,能工作,但是npm使用时报错

适用场景

接手祖传旧代码,node版本太高导致无法运行成功。或同时需要使用多个版本node。

环境

windows 10 64bit

参考博客

雨临Lewis -- Windows下完全卸载node.js并安装node.js的多版本管理工具nvm-windows

蓓蕾心晴 -- windows下nvm安装node之后npm命令找不到问题解决办法

背景

不注明环境和版本的教程都是耍流氓,在刚开始接触一门新技术或者新框架时,我们时常会去搜索别人的hellow world教程,但是很气的是,按照步骤无论如何都是不成功,在我碰到的这类的坑,基本都是环境和版本不同导致的.....(除了和网路相关的)

例如最近看的一位前辈关于以太坊教程,和现在还没爬出坑的接手的一个2年前Angular的项目。本篇是下一篇关于以太坊文章的前置文章,因为那一篇教程需要使用旧版本的node。

思路

  1. 卸载node
  2. 删除路径以及残留文件
  3. 安装nvm-windows
  4. 配置镜像源

步骤

  1. 卸载系统上现有node(如果有)
    • 在卸载程序中卸载node
    • 在环境变量中删除所有与node相关的路径(无论是user级,还是system级)
    • 删除以下路径的文件(可能只有部分文件才有)
  2. 下载最新版nvm并安装nvm-setup.zip
  3. 更换镜像源在 路径 C:\Users\{User}\AppData\Roaming\nvm\settings.txt下添加以下两条
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
  1. nvm的使用
# get available node version list
    nvm list available
# install specific node version you need
    nvm install The_Version_You_Need
# list the node you have installed in your PC
    nvm list
# switch node version you need
    nvm use The_Version_You_Need

错误处理

在Windows上nvm的常见错误解决方案基本都能搜索到,有一个特殊的我没检索到的这里列一下。

  • 现象:nvm install指定版本的node,并切换后,使用node指令正常,比如node --version,但是使用npm指令会报错,且报错根据node 版本会不同,但是根本上都是npm找不到。此时如果你打开C:\Users\{User}\AppData\Roaming\nvm\v9.11.1\node_modules,发现没有npm文件夹,那就是这个问题。

  • 解决方案卸载当前版本,重新安装。有时我重复了两次才成功,成功标志就是node_modules文件夹下npm文件夹出现,或者命令行调用npm不报错。

要获取更多Haytham原创文章,请关注公众号"许聚龙":Windows nvm的安装使用(及排坑)-LMLPHP

09-15 23:53