注意:

1、安装nvm之前需要卸载之前的nodejs,并且还要删除之前的环境变量配置,否则会出现一些奇怪的问题

2、nvm的安装路径不能有中文或者空格,否则后面在cmd中切换node版本会出现乱码

一、完全卸载旧的nodejs

参考文章《Node卸载超详细步骤》

1、打开系统的控制面板,点击卸载程序,卸载nodejs

2、删除node的安装目录

安装目录默认是C:\Program Files\nodejs,我的在安装时选择的安装位置在D:\Program Files\nodejs

查看该路径下是否有node文件,在控制面板卸载node后一般会自动删除node文件,如果文件还在的话就手动删除,没有的话就忽略。

3、查找.npmrc文件是否存在,有就删除

.npmrc默认在C:\User\用户名

.node_repl_history如果存在也删除,没有请忽略。

4、查看以下文件是否存在,如果存在则删除

  • C:\Program Files (x86)\Nodejs
  • C:\Program Files\Nodejs
  • C:\Users\用户名\AppData\Roaming\npm
  • C:\Users\用户名\AppData\Roaming\npm-cache
  • C:\Users\用户名\AppData\Local\npm-cache

5、打开系统设置,检查系统环境变量,将node相关的配置都删掉

 

二、nvm安装与使用(Node.js的版本管理器)

windows安装nvm

1. 下载nvm

下载地址:nvm-windows,下载 nvm-noinstall 或者 nvm-setup.exe

如果使用 nvm-noinstall 可以运行 install.cmd,会自动配置环境变量。

2. 配置环境变量

NVM_HOME 是 nvm 的安装目录,需要加到 PATH 中才能使用 nvm 的命令。

NVM_SYMLINK 指向当前使用的node,需要加到 PATH 中才能使用 node 的命令。

控制面板 - 系统 - 高级系统设置 - 环境变量:

NVM_HOME: D:\program\nvm

NVM_SYMLINK: D:\program\nvm\nodejs

3. 修改settings.txt

如果没有,则在 NVM_HOME 目录下创建一个settings.txt(D:\program\nvm\settings.txt)。

root 是各个版本 nodejs 的安装目录。

path 是 NVM_SYMLINK,是一个快捷方式,nvm 切换版本的时候会将 NVM_SYMLINK 指向对应版本的 node。

\program\nvm
path: D:\program\nvm\nodejs
arch: 64
proxy: none
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/

4. 验证是否安装成功

 # 查看版本号
$ nvm v
1.1.9
 

nvm命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# mac和linux的node安装目录在~/.nvm/versions/node,windows可以修改node安装目录
# 查看node安装目录(不同版本的node都会安装到这个目录下,默认和nvm同一个目录)
$ nvm root
 
# 修改node安装目录
$ nvm root D:\program\nvm
 
# 卸载node
$ nvm uninstall 18.20.1
 
# 安装最新版本node
$ nvm install latest
 
# 查看当前node版本
$ nvm current
 
# 给版本指定别名
$ nvm alias test 18.20.1
 
# 删除别名
$ nvm unalias test
 
# 清空nvm本地缓存
$ nvm cache clear

  

 

安装成功

 

 

 

 
 
posted @ 2025-01-10 18:34 Gaochunling 阅读(834) 评论(0) 推荐(0) 编辑
摘要: 封装定义日志上传模块,实现异常日志的上报,包含触发方式: 1、主动调取方法上报 2、覆盖原生console.error实现,收集所有console.error打印的日志 3、window注册绑定error事件,触发 window.addEventListener('error', /** * 客户端 阅读全文
posted @ 2024-08-27 16:01 Gaochunling 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 前端项目自定义webpack自动构建项目,启动时报错:Error: error:0308010C:digital envelope routines::unsupported 报错原因: 主要是因为 nodeJs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的 阅读全文
posted @ 2024-03-12 14:49 Gaochunling 阅读(16965) 评论(0) 推荐(2) 编辑
摘要: 需求: input 备注输入框字数超长输入后,鼠标划上弹框显示所有内容 实现逻辑: 1、传入$event对象 ,获取offsetwidth 与scrollWidth,对比,如果大于则显示 template 定义: <el-input placeholder="" maxlength="100" @m 阅读全文
posted @ 2023-09-06 11:47 Gaochunling 阅读(1222) 评论(0) 推荐(0) 编辑
摘要: 需求: 1、element form volid 必填提示框警告2、自动定位到首个未通过校验字段 实现思路:1.validate 校验需要给提交事件添加一个参数 object ; 2.当校验不通过时收集所有未通过字段项提示信息,将其通过 push 方法添加到定义好的数组中(str);3.通过 thi 阅读全文
posted @ 2023-09-06 11:34 Gaochunling 阅读(830) 评论(0) 推荐(0) 编辑
摘要: 微信小程序的附件上传下载。上传后并支持打开 1、wxml 定义 <view> <van-uploader class="autoField" bind:after-read="afterRead" accept="file" upload-text="上传附件" max-count="6" disa 阅读全文
posted @ 2023-06-26 18:24 Gaochunling 阅读(1008) 评论(0) 推荐(0) 编辑
摘要: 每个vue单文件组件中,可以加入三种route navigation guards(导航守卫钩子):beforeRouteEnter,beforeRouteUpdate,beforeRouteLeave,比较常用的是beforeRouteEnter和beforeRouteLeave,这里总结下项目中 阅读全文
posted @ 2022-10-10 11:07 Gaochunling 阅读(3661) 评论(0) 推荐(0) 编辑
摘要: 场景描述: 前端请求接口,接口的response返回为文件流,前端进行下载 1、定义触发按钮 <el-button type="success" @click="export()">导 出</el-button> import { export } from '@/views/request.js' 阅读全文
posted @ 2022-07-04 17:27 Gaochunling 阅读(2149) 评论(0) 推荐(0) 编辑
摘要: //示例一:同步 async changeMailFlag(data) { try { const res = await saveOverSeasMailFlag({ mailFlag: data.data.mailFlag, groupId: data.data.groupId }); if ( 阅读全文
posted @ 2021-10-04 16:31 Gaochunling 阅读(113) 评论(0) 推荐(0) 编辑
摘要: // 直接调用$router.push 实现携带参数的跳转 this.$router.push({ path: `/describe/${id}`, 需要对应路由配置如下: { path: '/describe/:id', name: 'Describe', component: Describe 阅读全文
posted @ 2021-07-23 16:14 Gaochunling 阅读(1167) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示