nvm进行不同node版本间切换的详细步骤

背景

前段时间项目技术升级,把vue2升级为vue3,node也升级为v16.17.0版本,最近又接手了一个vue2的老项目,跑依赖的时候报错,Error:Cannot find module 'node-sass'。查了很多资料了解到是本地的node版本太高了,和新接手项目里面的node-sass不兼容。

解决方案大体上有三种:

  • 1.降级node版本,但是有多个项目时,切换起来会很麻烦
  • 2.升级node-sass,改动会很大
  • 3.利用工具切换node

综合考虑选择用第3种方案。

通过package.json文件得知"node-sass": "^4.14.1", "npm": "^6.9.0"

node和npm版本的对应:https://nodejs.org/zh-cn/download/releases/
node和node-sass版本的对应:https://github.com/sass/node-sass/releases
最后选择本地安装两个node版本:v11.15.0、v16.17.0,通过nvm进行切换

操作步骤

  • 1.把本地原本的node卸载
  • 2.去github上下载nvm安装包:nvm-setup.zip
    下载地址:https://github.com/coreybutler/nvm-windows/releases
  • 3.安装nvm,注意:两次选择文件要安装的目录 第一次是nvm 第二次是node.js,目录名称不可以有空格和中文
  • 4.验证是否安装成功nvm -v,出现版本号即为成功
  • 5.进行对应版本node.js的安装,有两种安装方式:
    • 1)在线安装:使用nvm命令nvm install [version]
    • 2)离线安装:
      • a. node官网https://nodejs.org/en/download/,点击红框处
        image.png
      • b.在导航栏输入版本号,回车,找到合适的安装包,这里我用的是.msi格式的安装包
      • c.在安装node之前,先创建两个文件夹用来存放不同版本的node,注意:先安装低版本,再安装高版本,顺序颠倒的话低版本会安装不上
        image.png
      • d.安装完低版本之后,高版本安装之前,先把低版本的文件夹名称重命名,比如我改成了v11.15.0aa,等到高版本安装完成以后记得再改回来,因为如果不修改名字的话在安装新版本的时候无论安装在什么地方,都会把之前的那个干掉
      • e.都安装完之后,开始配置环境变量(此电脑 右键=>属性=>高级系统设置=>环境变量)新建两个系统变量
        image.png
      • f.找到系统变量里面的Path变量,编辑,将上一步骤的两个变量添加进来
        image.png
      • g.where node可以查看node安装的路径
  • 6.我安装了两个版本:v11.15.0、v16.17.0,nvm list查看已安装的node目录
  • 7.nvm use [version]可以进行node的切换
    到这里的时候遇到了一个报错:
    image.png

    原因是:权限不够,需要以管理员身份运行指令
    具体操作:右键电脑“开始”按键,选择Windows PowerShell(管理员),再次运行指令,显示成功
    image.png

你可能感兴趣的:(nvm进行不同node版本间切换的详细步骤)