nvm安装,node多版本管理
卸载nodejs
- win + R 输入 appwiz.cpl 删除 node.js
- 查看node.js安装路径是否有残留,有就删除文件夹
删除下列路径文件,一定要检查,没删干净,nvm安装会失败
- C:\Program Files (x86)\Nodejs
- C:\Program Files\Nodejs
- C:\Users{User}\AppData\Roaming\npm
- C:\Users{User}\AppData\Roaming\npm-cache
- 删除C:\Users\用户名 下的 .npmrc文件以及 .yarnrc 文件
- 环境变量中npm、node的所有相关统统删掉
下载nvm
直接官网下载exe文件就行(用新不用旧)
安装nvm
- 双击exe文件
- 安装路径不要出现中文、空格等
- 选择nvm安装位置
- 设置nodejs位置
- 一直到安装完成
配置下载镜像
- 打开上一步nvm的安装路径
- 打开到 setting.txt 文件
- 新增两行数据
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/

第一行:nvm安装路径
第二行:nodejs路径
第三行:node下载镜像路径
第四行:nvm下载镜像路径
检查nvm是否安装成功
win + R ===> cmd ===> nvm
显示版本信息为安装成功

【nvm -v】命令,查看nvm版本
使用nvm安装node
- 【nvm list available】 命令,查询版本(LTS 为稳定版本,建议安装)
- 【nvm install 版本】命令,安装指定版本node,版本名需带“v”,例:nvm install v16.20.2
- 【nvm use 版本】命令,切换node
- 【node -v】命令,查看node版本
查看已安装的node版本
【nvm ls】或【nvm list】,可查看已安装的node版本,前面有【*】号的为当前使用版本
【nvm uninstall 版本】,可删除指定版本node
修改npm默认镜像
修改为淘宝镜像,减少错误和超时
npm config set registry https://registry.npmmirror.com
查看镜像地址,修改成功会返回上面设置的地址
npm config get registry
报错处理
// 1. 清空缓存
npm cache clean --force
// 2. 切换新源
npm config set registry 镜像地址
新建node文件夹
- 打开安装nvm时设置的nodejs路径
- 新建两个文件夹【node_global】【node_cache】
- cmd配置 2 中的路径
npm config set prefix "D:\Software\1_java\nodejs\node_global"
npm config set cache "D:\Software\1_java\nodejs\node_cache"
执行后无响应为成功
配置环境变量
- 打开档案管理
- 右键【本机】点击 【内容】
- 点击 【进阶系统设定】
- 点击环境变量
- 用户变量 ===> 编辑 ===> 新增上述两个文件夹路径
- 系统变量新增【NODE_PATH】值为【D:\Software\1_java\nodejs\node_global\node_modules】
- nvm安装后会默认配置【
NVM_HOME】【NVM_SYMLINK】两个变量,与nvm中setting.txt文件中的 root 和 path 相吻合


nrm管理npm源
- 【npm install -g nrm】命令,安装nrm
- 【nrm ls】命令,查询可用源的名称和url
- 【nrm use 源名称或url】命令,切换源
- 【nrm add 源名称 源url】命令,添加一个新的源
- 【nrm del 源名称或url】命令,删除一个指定源
- 【nrm test 源名称或url】命令,测试源响应速度并显示测试结果
- 【nrm current】命令,显示当前源名称及url
卸载nvm
- 删除nvm及node文件夹
- 删除用户变量和系统变量中名称为,【NVM_HOME】【NVM_SYMLINK】两个
- 删除用户变量和系统变量path中,【%NVM_HOME%】【%NVM_SYMLINK% 】两个
Idea配置node.js
- 打开设置
- 选择 Node.js
- 配置 nodejs 解释器安装路径
- 配置 软件包管理器路径

前端项目启动
- 【npm install】命令,安装
- 【npm run dev】命令,启动
报错解决
前端启动时报错【error:0308010C:digital envelope routines::unsupported】
原因:
nodejs为高版本,新增了一些恶心校验,项目不符合
解决方法:推荐方法1
1、idea 终端输入:
$env:NODE_OPTIONS="--openssl-legacy-provider"
2、windows cmd输入
set NODE_OPTIONS=--openssl-legacy-provider
3、linux、mac 输入
export NODE_OPTIONS=--openssl-legacy-provider
4、安装Node.js 17 - 版本
Leslie Lee 随笔
相关文章:
nvm安装,node多版本管理
卸载nodejs win R 输入 appwiz.cpl 删除 node.js查看node.js安装路径是否有残留,有就删除文件夹 删除下列路径文件,一定要检查,没删干净,nvm安装会失败 C:\Program Files (x86)\NodejsC:\Program Files\NodejsC:\Users{User}\…...
ThingsBoard规则链节点:Assign To Customer节点详解
引言 分配给客户节点概述 用法 含义 应用场景 实际项目运用示例 结论 引言 在物联网(IoT)解决方案中,ThingsBoard平台以其高效的数据处理能力和灵活的设备管理功能而著称。其中,规则引擎是该平台的一个核心组件,…...
自监督行为识别-时空线索解耦(论文复现)
自监督行为识别-时空线索解耦(论文复现) 本文所涉及所有资源均在传知代码平台可获取 文章目录 自监督行为识别-时空线索解耦(论文复现)引言论文概述核心创新点双向解耦编码器跨域对比损失的构建结构化数据增强项目部署准备工作数据…...
MyBatisPlus:自定义SQL
由于SQL不能写在业务层,所以可以利用MyBatisPlus的Wrapper来构建复杂的Where条件,然后自己定义SQL语句中剩下的部分 ①基于Wrapper 构建Where条件 Testpublic void test7(){//需求:将id满足ids的数据项的balance字段减200int amount200;List…...
变电站谐波治理设备有哪些
在变电站中,由于非线性负载(如电力电子设备、变频器等)会引入谐波,对电网造成干扰,因此需要进行谐波治理。以下是常见的变电站谐波治理设备及其特点: 1、静止无功发生器(SVG) 工作原…...
Mybatis全局配置介绍
【mybatis全局配置介绍】 mybatis-config.xml,是MyBatis的全局配置文件,包含全局配置信息,如数据库连接参数、插件等。整个框架中只需要一个即可。 1、mybatis全局配置文件是mybatis框架的核心配置,整个框架只需一个;…...
error: cannot find symbol import android.os.SystemProperties;
背景:AS独立编译系统工程应用,使用了hide接口,导致编译不过。 尽管使用了framework.jar依赖。依然编译不过,导致各种类找不到。 例如: /SettingsLib/src/main/java/com/android/settingslib/location/RecentLocatio…...
债券市场金融基础设施 (2020版)
前言:我国债券市场格局简介 我国金融市场主要包括货币市场、资本市场、外汇市场、金融衍生工具市场等,其中,资本市场是金融市场重要组成部分,承担着实体经济直接融资的重责,做大做强资本市场对整个国民经济具有重要意义。债券市场是资本市场两大组成部分之一,对提高直接…...
OpenCV高级图形用户界面(8)在指定的窗口中显示一幅图像函数imshow()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在指定的窗口中显示一幅图像。 函数 imshow 在指定的窗口中显示一幅图像。如果窗口是以 cv::WINDOW_AUTOSIZE 标志创建的,图像将以原…...
for循环和while循环的区别
for循环和while循环的主要区别在于使用场景和结构。for循环适合已知循环次数的情况,而while循环则更灵活,适用于条件动态变化的情况。 for循环的特点 1. 已知迭代次数:for循环在开始前就需要知道具体的迭代次数。例如,遍历一个列…...
机器学习和神经网络的研究与传统物理学的关系
机器学习和神经网络的研究与传统物理学的关系 机器学习和神经网络是现代科学研究中非常热门的领域,它们与传统物理学在某些方面有着密切的关系,在人类科学研究中相互影响和促进作用也越来越显著。 首先,机器学习和神经网络在物理学研究中具…...
LabVIEW提高开发效率技巧----事件触发模式
事件触发模式在LabVIEW开发中是一种常见且有效的编程方法,适用于需要动态响应外部或内部信号的场景。通过事件结构(Event Structure)和用户自定义事件(User Events),开发者可以设计出高效的事件驱动程序&am…...
Kimi AI助手重大更新:语音通话功能闪亮登场!
Kimi人工智能助手近日发布了一项令人瞩目的重大更新,其中最引人注目的是新增的语音通话功能。这一创新不仅拓展了用户与AI互动的方式,还为学习和工作场景提供了突破性的解决方案。 Ai 智能办公利器 - Ai-321.com 人工智能 - Ai工具集 - 全球热门人工智能…...
Linux——进程管理
目录 进程基础 ps 显示系统执行的进程 终止进程 kill 和 killall pstree 查看进程树 服务(service)管理 service 管理指令 服务的运行级别(runlevel) chkconfig 设置服务在不同运行级别下是否开启自启动 systemctl 管理…...
【ARM 嵌入式 编译系列 2.9 -- GCC 编译如何避免赋值判断 if ( x = 0)】
> ARM GCC 编译精讲系列课程链接 < 文章目录 GCC 编译避免赋值判断参数说明示例编译命令解决方法 GCC 编译避免赋值判断 在 GCC 编译中,为了避免误将赋值操作用于条件判断(例如 if (break_var 0x0))导致的错误,可以使用 -…...
PyTorch搭建GNN(GCN、GraphSAGE和GAT)实现多节点、单节点内多变量输入多变量输出时空预测
目录 I. 前言II. 数据集说明III. 模型3.1 GCN3.2 GraphSAGE3.3 GAT IV. 训练与测试V. 实验结果 I. 前言 前面已经写了很多关于时间序列预测的文章: 深入理解PyTorch中LSTM的输入和输出(从input输入到Linear输出)PyTorch搭建LSTM实现时间序列…...
51单片机快速入门之数码管的拓展应用2024/10/15
51单片机快速入门之数码管的拓展应用 在前面的文章中,我们已经了解到数码管的基础应用,今天来讲讲拓展应用 我们知道单个数码管分为以下 但是当我们碰到 如下这种数码管的时候又应该如何去控制呢? 这里就不得不说其拓展应用之-----------扫描显示 扫描显示: 扫描显示,又称…...
vue 音频播放控件封装
<template> <div> <audio @timeupdate="updateProgress" controls ref="audioRef" style="display: none" > <source :src="audioUrl" type="audio/mpeg" /> 您的浏览器不支持音频播放 </audio&…...
秋招面试题记录
嵌入式软件开发 网上搜集的题目 1.Static关键词的作用? static 关键字有三个主要作用: 局部变量:在函数内部,static 局部变量只初始化一次,且在函数调用结束后仍然保留其值。全局变量/函数:在文件内部&a…...
金字塔流(Pyramid Flow): 用于生成人工智能长视频的新文本-视频开源模型
在 "生成式人工智能 "中的文本生成模型和图像生成模型大行其道之后,现在该是文本-视频模型大显身手的时候了,这个列表中的新模型就是 pyramid-flow-sd3,它是一个开源模型,用于从文本或图像生成长达 10 秒的视频…...
3步搞定ERPNext自动化部署:让企业管理系统安装变得简单
3步搞定ERPNext自动化部署:让企业管理系统安装变得简单 【免费下载链接】erpnext_quick_install Unattended install script for ERPNext Versions, 13, 14 and 15 项目地址: https://gitcode.com/gh_mirrors/er/erpnext_quick_install 还在为复杂的ERPNext安…...
全球碳块市场调查:年复合增长率(CAGR)稳定保持在3.4%(2026 - 2032)
市场规模:稳健增长,潜力巨大QYResearch调研数据显示,2025年全球碳块市场规模预计约为17.75亿美元,而到2032年,这一数字将跃升至22.36亿美元。在2026 - 2032年期间,年复合增长率(CAGR)…...
C++/Qt 使用 Tushare 获取股票信息
探索数据之源:使用tushare为Qt/C学习项目获取股票数据在进行金融量化分析或学习金融市场行为时,获取高质量、结构化的股票数据是至关重要的第一步。作为一个计划将Qt/C用于金融数据可视化或策略模拟的学习者,我近期深入体验了使用Python库tus…...
MusePublic大模型Qt图形界面开发指南
MusePublic大模型Qt图形界面开发指南 1. 为什么需要图形界面? 如果你已经能用代码调用MusePublic大模型,可能会发现一个问题:每次都要打开终端、输入命令、等待结果,这样的交互方式既不方便也不直观。特别是当你需要频繁调整参数…...
密码安全必修课:为什么BCrypt比MD5更适合存储用户密码?
密码安全必修课:为什么BCrypt比MD5更适合存储用户密码? 在数字身份成为第二张身份证的时代,密码安全早已不是技术圈的内部话题。去年某社交平台600万用户数据泄露事件中,令人震惊的不是数据被盗本身,而是其中87%的密码…...
AI核心概念串联
目录一、Tokenizer二、LLM三、Context四、RAG五、Prompt六、Tool七、MCP八、Agent九、Skill原UP主视频:从 LLM 到 Agent Skill,一期视频带你打通底层逻辑! 一、Tokenizer 用户每次输入都是一串连续的句子,而LLM的最小单位是toke…...
无线通信入门:为什么说DFT是提升OFDM信道估计性能的“降噪神器”?
无线通信中的降噪艺术:DFT如何让OFDM信道估计更精准 想象一下,你正试图在嘈杂的咖啡馆里听清朋友的谈话。背景音乐、周围人的聊天声、杯盘碰撞声都在干扰你获取清晰的信息。无线通信中的信道估计面临类似的挑战——如何在充满噪声的传输环境中࿰…...
从一次安全事件复盘:我们是如何通过配置Windows审计策略和事件查看器,发现并阻断虚拟机异常登录的
虚拟化环境安全审计实战:从异常登录告警到精准防御 那天凌晨3点15分,安全运营中心的告警铃声突然响起。监控大屏上,一台核心业务虚拟机的登录事件触发了我们的阈值告警——这个时间段本不该有任何运维操作。当我调出事件查看器里那条4672特殊…...
SDMatte与前端Vue.js结合:打造交互式在线抠图工具
SDMatte与前端Vue.js结合:打造交互式在线抠图工具 1. 引言:让抠图变得简单高效 想象一下这样的场景:电商运营每天需要处理上百张商品图片,设计师反复在Photoshop里手动抠图,自媒体创作者为找不到合适的透明背景素材发…...
跨境服务数字化转型 JAVA 国际版打手俱乐部陪玩系统完整开发教程
以下是基于JAVA开发国际版打手俱乐部陪玩系统的完整开发教程,涵盖技术选型、核心功能实现、安全合规及部署方案:一、技术选型与架构设计后端框架:Spring Boot 3.2 Spring Cloud Alibaba:提供微服务拆分能力,支持Nacos…...
