使用nvm在win10系统安装多个nodejs版本解决低版本前端项目运行报错问题

window中安装nvm-window来管理多个版本的nodejs,以便能切换不同的nodejs,运行之前的旧项目

一、原因分析

我电脑安装的nodejs16.14.0 其实不是最新的,但是在运行一个2年前的vue2项目时,该项目用的是vue-admin-template 模板,却跑不起来,报如下错误:

node sass does not yet support your current environment windows 64-bit with unsupported runtime (93)

最开始是搜索相关错误原因,但是按照这种解决方式,均解决不了:

npm uninstall node-sass
npm i sass

后面发现,是因为nodejs的版本问题,我目前电脑按照的是16.14.0,需要降级为12.20的版本。

二、使用nvm-windows安装和管理nodejs版本

? 注意:安装之前徐卸载之前电脑上的nodejs,卸载过程跟卸载普通的软件一样。

  1. 下载

    到[https://github.com/coreybutler/nvm-windows/releases) 下载最新版本,选择:

nvm-windows-exe

  1. 安装

    下载后安装到除C盘外的硬盘,比如安装到D盘。

    其余傻瓜式安装,一路点击下一步,直到安装成功。

  2. 配置
    安装好nvm-Windows后,它会自动配置环境,所以你只需通过如下命令行,看看是不是已经安装成功(可能需要管理员方式打开powerShell)

    nvm version

    进入nvm-windows安装目录,编辑settings.txt,在已有内容基础上增加如下内容:

    node_mirror: http://npm.taobao.org/mirrors/node/
    npm_mirror: https://npm.taobao.org/mirrors/npm/

    这个是配置nodejs的镜像源,以便能nvm list 列出可用的nodejs版本和下载版本。

三、使用nvm配置和安装nodejs

先用管理员方式打开powerShell,然后按照下图使用:

powerShell使用nvm常用命令

这里可以查看完整版的node list安装列表,意味着你可以安装非常多的版本:

Previous Releases | Node.js

四、nvm一些基本的命令

上图中的命令其实已经够用,现在总结如下:

# 查看已安装的nodejs版本
nvm list

# 查看所有可安装的nodejs版本
nvm list available

# 安装nodejs
nvm install 14 # 如果只填前面的数字,则默认安装本版本的最新版,这里真实安装版本为14.19.1
nvm install 14.19.1 # 也可指定具体版本安装

# 使用指定版本的nodejs(初次使用,需要指定版本)
nvm use 14.19.1 # 需使用完整版本号,才能指定成功

node -v # 输出版本号,则nodejs指定成功,可以开始使用

#  卸载指定nodejs版本
nvm uninstall 14.19.1

五、常见问题

  1. 在切换了nodejs版本后,之前安装的yarn、cnpm也不再有效,需要重新安装

    # 启用node版本
    nvm use 14.0.0
    # 重新安装yarn
    npm install -g yarn
    
    # 切换node版本
    nvm use 12.0.1
    # 重新安装yarn
    npm install -g yarn
    
    # 安装淘宝镜像:
    npm install -g cnpm --registry=https://registry.npm.taobao.org
  2. cnpm i安装依赖包时,报错

    Error: Cannot find module 'fs/promises'

    这是因为nodejs版本太低,而cnpm版本较新导致,也就是要安装配套的cnpm版本,即cnpm也需要降低版本,降低版本步骤如下:

    npm uninstall -g cnpm  #先卸载安装的cnpm
    
    npm install cnpm@7.1.0 -g  #再安装指定的版本
除特别声明外, 本站所有内容皆为原创,未经许可,禁止转载。转载时请务必以超链接形式标明文章出处和作者信息
  • 2,224
(1)
打赏 微信扫一扫 微信扫一扫
                       

关于作者:

web前端老罗

贡献:已经在WEB前端圈发表90篇文章了

简介:前端老罗是一位拥有多年web前端开发经验、管理经验、教学经验的实战派全栈工程师。目前在某名企任职WEB前端技术教官。加我微信:imqdcnn可提供开发、技术咨询、答疑、直播讲座等服务

Ta的专栏 | Ta的站点 | 其他SNS

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关于WEB前端圈

我是前端人(imqd.cn)愿景是不管你是想学习前端还是一名专业的WEB前端工程师在这里都能找到你想要的物料。定位为前端人学习进步的一个平台。在这里你能找到前端学习笔记、教学视频资源、案例、前后端分离、前端框架、低代码平台、可视化数据、多端开发、全栈开发等跟前端有关的一切资源!

关于站长:WEB前端老罗(罗老师)是一位拥有多年web前端开发经验、管理经验、IT培训教学经验的实战派全栈工程师。目前在某名企任职WEB前端技术教官。右边加我微信可提供开发、技术咨询、答疑、直播讲座等服务

WEB前端圈二维码

右边添加老罗微信一对一免费私聊
拉你加入官方微信答疑群

To top