windows、mac、linux中node版本的切换(nvm管理工具),解决项目兼容问题 node版本管理、国内npm源镜像切换
文章目录
- 在工作中,我们可能同时在进行2个或者多个不同的项目开发,每个项目的需求不同,进而不同项目必须依赖不同版本的NodeJS运行环境,这种情况下,对于维护多个版本的node将会是一件非常麻烦的事情,nvm就是为解决这个问题而产生的,他可以方便的在同一台设备上进行多个node版本之间切换。 无须卸载现有版本,可同时安装不同的版本,有使用项目需要在linux,mac、windows三个系统中运行,所以三个系统最好都安装nvm
- windows中安装nvm:
- 安装nvm
- nvm常用命令
- 执行nvm命令,查看可安装的node版本
- 查看本地安装的node版本
- 安装指定的node版本
- 切换到指定node版本
- linux中安装nvm:
- 1、 在对应目录中下载nvm对应版本压缩包
- 2、 解压值nvm目录
- 3、编辑配置环境 ~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc 任一都行
- 4、在~/.bashrc的末尾,添加如下语句:
- 5、重新加载配置 一定要重新加载配置
- 6、查看版本 并应用
- mac中安装nvm:
- 在安装 brew install nvm
- 需要配置环境变量
- 重新加载配置
- 国内npm源镜像(npm加速下载)
- 指定npm镜像
- 推荐使用上面的方式指定npm镜像,当然方法不唯一,也可以用 nrm 去指定npm镜像
- 什么是nrm
- 安装nrm
- 使用
- 查看可选的源
- 切换
- 测试速度
在工作中,我们可能同时在进行2个或者多个不同的项目开发,每个项目的需求不同,进而不同项目必须依赖不同版本的NodeJS运行环境,这种情况下,对于维护多个版本的node将会是一件非常麻烦的事情,nvm就是为解决这个问题而产生的,他可以方便的在同一台设备上进行多个node版本之间切换。
无须卸载现有版本,可同时安装不同的版本,有使用项目需要在linux,mac、windows三个系统中运行,所以三个系统最好都安装nvm
windows中安装nvm:
安装nvm
nvm下载地址nvm下载地址
参考别人的安装
nvm常用命令
nvm off // 禁用node.js版本管理(不卸载任何东西)
nvm on // 启用node.js版本管理
nvm install <version> // 安装node.js的命名 version是版本号 例如:nvm install 8.12.0
nvm uninstall <version> // 卸载node.js是的命令,卸载指定版本的nodejs,当安装失败时卸载使用
nvm ls // 显示所有安装的node.js版本
nvm list available // 显示可以安装的所有node.js的版本
nvm use <version> // 切换到使用指定的nodejs版本
nvm v // 显示nvm版本
nvm install stable // 安装最新稳定版
执行nvm命令,查看可安装的node版本
nvm list available

查看本地安装的node版本
nvm list

安装指定的node版本
nvm install v后面是版本号
nvm install v14.18.0

切换到指定node版本
nvm use v16.14.0
//有时候是,不用写v
nvm install 14.18.0

注意:有时候会报错,这时候,需要用管理员身份去运行cmd命令

在这个目录下去输入 nvm use …

注意:
新安装的版本和之前的版本里面的的cnpm和yarn可能不通用,有时候需要重新全局安装
linux中安装nvm:
# 1、 在对应目录中下载nvm对应版本压缩包
cd /home
//这里的下载地址自己找,可能会变动
wget https://github.com/nvm-sh/nvm/archive/refs/tags/v0.39.7.tar.gz# 2、 解压值nvm目录
tar -zxvf v0.39.7.tar.gz -C ~/.nvm/# 3、编辑配置环境 ~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc 任一都行
vim ~/.bashrc# 4、在~/.bashrc的末尾,添加如下语句:
export NVM_DIR="$HOME/.nvm/nvm-0.39.7"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion# 5、重新加载配置 一定要重新加载配置source ~/.bashrc# 6、查看版本
[root@xxx ~]# nvm --version
0.39.7
1、 在对应目录中下载nvm对应版本压缩包
cd /home
//这里的下载地址自己找,可能会变动
wget https://github.com/nvm-sh/nvm/archive/refs/tags/v0.39.7.tar.gz
2、 解压值nvm目录
tar -zxvf v0.39.7.tar.gz -C ~/.nvm/
3、编辑配置环境 ~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc 任一都行
vim ~/.bashrc
4、在~/.bashrc的末尾,添加如下语句:
export NVM_DIR="$HOME/.nvm/nvm-0.39.7"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
5、重新加载配置 一定要重新加载配置
source ~/.bashrc
6、查看版本 并应用
[root@xxx ~]# nvm --version
0.39.7
在后面就具体使用就和lwindows中使用相同了
mac中安装nvm:
我是用brew安装的nvm
先卸载node
在安装 brew install nvm
brew install nvm
需要配置环境变量
这里有提示,根据提示走即可,或者看我下面写的

mac有时候配置环境变量突然失效,提示command not found,需要检查mac的shell是zsh还是bash,新系统默认是zsh。
根据zsh还是bash去修改对应的文件:
zsh读取的配置文件:~/.zshrc
bash读取的配置文件:~/.bash_profile
如果没有 .bash_profile文件就touch .bash_profile
分别将下面代码复制到对应的文件中
export NVM_DIR="$HOME/.nvm"[ -s "/usr/local/opt/nvm/nvm.sh" ] && \. "/usr/local/opt/nvm/nvm.sh" # This loads nvm[ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/usr/local/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
重新加载配置
source ~/.zshrc
#或者
source ~/.bash_profile
国内npm源镜像(npm加速下载)
指定npm镜像
npm 官方原始镜像网址是:https://registry.npmjs.org/
淘宝 NPM 镜像:http://registry.npmmirror.com
阿里云 NPM 镜像:https://npm.aliyun.com
腾讯云 NPM 镜像:https://mirrors.cloud.tencent.com/npm/
华为云 NPM 镜像:https://mirrors.huaweicloud.com/repository/npm/
网易 NPM 镜像:https://mirrors.163.com/npm/
中国科学技术大学开源镜像站:http://mirrors.ustc.edu.cn/
清华大学开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/
腾讯,华为,阿里的镜像站基本上比较全
使用淘宝镜像源加速 NPM
npm config set registry https://registry.npmmirror.com
使用阿里云 镜像源加速 NPM
npm config set registry https://npm.aliyun.com
使用腾讯云镜像源加速 NPM
npm config set registry http://mirrors.cloud.tencent.com/npm/
使用华为云 镜像源加速 NPM
npm config set registry https://mirrors.huaweicloud.com/repository/npm/
使用那个镜像,只需要 npm config set registry + 对应的镜像网址就好了
npm config set registry
查看当前的镜像源:npm config get registry
npm config get registry
推荐使用上面的方式指定npm镜像,当然方法不唯一,也可以用 nrm 去指定npm镜像
什么是nrm
nrm 是一个 npm 源管理器,允许你快速地在 npm 源间切换。
安装nrm
npm install -g nrm
使用
查看可选的源
nrm ls
切换
如果要切换到taobao源,执行命令
nrm use taobao
测试速度
nrm test
相关文章:
windows、mac、linux中node版本的切换(nvm管理工具),解决项目兼容问题 node版本管理、国内npm源镜像切换
文章目录 在工作中,我们可能同时在进行2个或者多个不同的项目开发,每个项目的需求不同,进而不同项目必须依赖不同版本的NodeJS运行环境,这种情况下,对于维护多个版本的node将会是一件非常麻烦的事情,nvm就是…...
【MySQL精通之路】全文搜索-布尔型全文搜索
1.使用方法 MySQL可以使用IN BOOLEAN MODE修饰符执行布尔全文搜索。 使用此修饰符,某些字符在搜索字符串中单词的开头或结尾具有特殊含义。 在下面的查询中,和-运算符分别表示单词必须存在或不存在,才能进行匹配。 因此,查询检…...
【学习笔记】C++每日一记[20240520]
简述几种内存泄漏的预防机制 用智能指针代替普通指针,由于智能指针自带引用计数功能,能够记录动态分配空间的引用数量,在引用计数为零时,自动调用析构函数释放空间。 借助一些内存泄漏检测工具,例如Valgrind、Memche…...
【热门话题】一文带你读懂公司是如何知道张三在脉脉上发了“一句话”的
按理说呢,A公司和脉脉属于不同的平台,而且脉脉上大家可以匿名发言,所以,即便我坐在你边上,我发了一句话上去,你也不知道是谁发的。但通过一些技术,我们却可以分析出,公司是如何知道张…...
linux命令日常使用思考
linux命令日常使用思考 复制的相关问题scp和cp的区别root192.168.5.229-r的理解 更新版本的相关问题svn info 根目录和家目录的区别根目录家目录 复制的相关问题 scp和cp的区别 安全性:SCP 是基于 SSH 的加密传输协议,可以保证数据在传输过程中的安全性…...
同余定理与哈希函数
目录 同余定理哈希函数加密算法 余数有很多的应⽤场景,⽐如散列函数、加密算法,循环冗余校验等等。生活中也有很多与余数有关的例子。 比如,你要将1147条数据分页写入,每页10条,计算总页数。就可以用1147除以10&#x…...
03-01-Vue组件的定义和注册
前言 我们接着上一篇文章02-Vue实例的生命周期函数 来讲。 下一篇文章 03-02-Vue组件之间的传值 什么是组件 组件: 组件的出现,就是为了拆分Vue实例的代码量的,能够让我们以不同的组件,来划分不同的功能模块,将来我们…...
【python进阶】txt excel pickle opencv操作demo
文章目录 1. txt读写读综合案例 日志文件读写 2. excel读写读取csv读取xlsx 3. matplotlib 案例折线图多个折现图散点图柱状图饼状图 4 opencv 案例加载与展示图片缩放图片旋转图片保存图片读取摄像头视频保存opencv 综合案例 5 pickle 案例 1. txt读写 读 file.read() file.r…...
Aware接口作用
介绍 Aware(感知)接口是一个标记,里面没有任何方法,实际方法定义都是子接口确定(相当于定义了一套规则,并建议子接口中应该只有一个无返回值的方法)。 我们知道spring已经定义好了很多对象,如…...
Docker部署Minio S3第三方存储
Docker部署Minio S3第三方存储 你不要着急,你先去读你的书,我去看我的电影,总有一天,我们会窝在一起,读同一本书,看同一部电影。 安装Docker 1、选择要安装的平台 Docker要求CentOS系统的内核版本高于3.1…...
听说京东618裁员没?上午还在赶需求,下午就开会通知被裁了~
文末还有最新面经共享群,没准能让你刷到意向公司的面试真题呢。 京东也要向市场输送人才了? 在群里看到不少群友转发京东裁员相关的内容: 我特地去网上搜索了相关资料,看看网友的分享: 想不到马上就618了,东哥竟然抢…...
力扣226. 翻转二叉树(DFS的两种思路)
Problem: 226. 翻转二叉树 文章目录 题目描述思路复杂度Code 题目描述 思路 涉及二叉树的递归解法时往往需要考虑两种思路: 1.在递归遍历时执行题目需要的具体要求; 2.将一个大问题分解为多个小子问题 具体到本体: 思路1:遍历 先…...
状态机-非重叠的序列检测
描述 设计一个状态机,用来检测序列 10111,要求: 1、进行非重叠检测 即101110111 只会被检测通过一次 2、寄存器输出且同步输出结果 注意rst为低电平复位 信号示意图: 波形示意图: 输入描述 输入信号 clk rst data…...
Word怎么画图?这5个方法收藏好!
“我需要在Word文档中画一些图,想问下Word应该怎么画图呢?有没有朋友可以帮我看看怎么操作呢?” 在今天的数字化时代,信息爆炸式增长,人们越来越需要高效、直观地传递和接收信息。而Word画图功能正是这一需求的完美体现…...
qt designer 依赖库 QMessageBox
目录 qt designer 依赖库配置实例 单步调试快捷键 f10 QMessageBox 使用方法 背景图设置...
反序列化漏洞(JBoss、apache log4、apache Shiro、JWT)Weblogic未授权访问、代码执行、任意上传
1.1什么是反序列化 就是把一个对象变成可以传输的字符串,目的就是为了方便传输。假设,我们写了一个class,这个class里面存有一些变量。当这个class被实例化了之后,在使用过程中里面的一些变量值发生了改变。以后在某些时候还会用到…...
PHP身份证真伪验证、身份证二、三要素核验、身份证ocr接口
实名认证有利于网络绿化,所以在互联网发展迅速的今天,实名认证成了“刚需”。而OCR与实名认证两种产品的结和更是擦出了美丽的火花。翔云人工智能开放平台提供的实名认证OCR接口良好的展现出两种功能结合的效果。以身份实名认证产品举例来说,…...
【Qt 学习笔记】Qt常用控件 | 布局管理器 | 表单布局Form Layout
博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 布局管理器 | 表单布局Form Layout 文章编号:…...
数智赋能内涝治理,四信城市排水防涝解决方案保障城市安全运行
由强降雨、台风造成城市低洼处出现大量积水、内涝的情况时有发生,给人们出行带来了极大不便和安全隐患,甚至危及群众生命财产安全。 为降低内涝造成的损失,一方面我们要大力加强城市排水基础设施的建设;另一方面要全面掌握城市内涝…...
docker实战之搭建MYSQL8.0主从同步
目录 环境配置容器创建主服务器创建MYSQL容器新增my.cnf文件创建用户并授权 从服务器创建MYSQL容器新增my.cnf文件重启MYSQL容器配置主从同步 验证主从同步彩蛋 MySQL 主从同步(Master-Slave Replication)是一种常用的解决方案,它允许一个主服…...
Elsevier Tracker:三步搞定学术投稿焦虑,你的论文审稿终极监控方案
Elsevier Tracker:三步搞定学术投稿焦虑,你的论文审稿终极监控方案 【免费下载链接】Elsevier-Tracker 项目地址: https://gitcode.com/gh_mirrors/el/Elsevier-Tracker 还在为 Elsevier 期刊投稿后的漫长等待而焦虑吗?每天手动刷新页…...
OpenClaw+gemma-3-12b-it:自动化测试报告生成与分发
OpenClawgemma-3-12b-it:自动化测试报告生成与分发 1. 为什么需要自动化测试报告 作为一个小型开发团队的负责人,我每周都要面对一个重复性工作:收集各个成员的测试结果,整理成统一格式的报告,再通过邮件发送给所有相…...
C语言void指针详解与应用实践
1. 理解void指针的本质在C语言中,void指针(void *)是一种特殊类型的指针,它被称为"通用指针"或"无类型指针"。与普通指针不同,void指针不关联任何具体的数据类型,这使得它具有独特的特性和用途。1.1 void指针…...
MicroStation效率倍增:从快捷键到三维建模的进阶实战指南
1. 快捷键系统:从基础到高阶的全面掌握 MicroStation的快捷键系统就像设计师手中的瑞士军刀,熟练使用能让工作效率提升300%以上。我刚开始接触MicroStation时,总是一边画图一边在菜单栏里翻找工具,后来发现老工程师们手指在键盘上…...
macOS极简安装OpenClaw:gemma-3-12b-it镜像10分钟体验
macOS极简安装OpenClaw:gemma-3-12b-it镜像10分钟体验 1. 为什么选择OpenClawGemma组合 上周我在测试自动化工作流时,偶然发现OpenClaw这个开源框架。它最吸引我的是能直接在本地电脑上实现"AI操控电脑"——就像有个数字员工帮你点击鼠标、整…...
Go测试框架与基准测试
Go测试框架与基准测试:高效代码质量的守护者 在软件开发中,测试是确保代码质量的关键环节。Go语言凭借其简洁高效的特性,内置了强大的测试工具链,包括单元测试框架和基准测试功能。无论是验证逻辑正确性,还是评估性能…...
一阶RC滤波在DSP中离散实现
一、电路与连续域模型该电路是一个典型的一阶 RC 低通滤波器:输入:Vin输出:Vo结构:串联电阻 R,并联电容 C1️⃣ 传递函数推导电容阻抗:Zc 1 / (sC)电压分压得到:Vo / Vin (1 / (sC)) / (R 1 …...
第 2 章 感知-认知-行为 (PCB) 框架
第 2 章 感知-认知-行为 (PCB) 框架2.1 PCB 框架的理论基础2.1.1 生物神经科学的启示2.1.1.1 大脑-身体-环境的动态耦合神经科学的最新进展揭示了智能系统并非由离散的感知、认知与行动模块顺序连接构成,而是通过持续的动力学耦合形成的功能统一体。神经振荡&#x…...
先定义CSP的核心变量
67-考虑光热电站的综合能源系统优化调度模型 摘要:代码主要做的是含有光热电站的综合能源系统优化调度模型,共做了四个算例,分别对比了目标函数一次、二次、考虑弃风弃光、碳排放等四个算例,综合能源系统主要设备包括光热电站、风…...
ArcMap10.4.1缓冲区分析避坑指南:解决距离单位混淆和叠加效果的常见问题
ArcMap 10.4.1缓冲区分析实战避坑手册:从原理到精准操作 第一次在ArcMap里做缓冲区分析时,我盯着屏幕上那些重叠的彩色圆圈发懵——明明设置了500米缓冲距离,为什么生成的区域看起来比隔壁城市的还大?后来才发现,我的数…...
