当前位置: 首页 > news >正文

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     

相关文章:

  • python:pycharm虚拟解释器报错环境位置目录为空
  • 人生苦短,我学python之数据类型(下)
  • “高考钉子户”唐尚珺决定再战2024年高考
  • Proteus仿真小技巧(隔空连线)
  • C语言:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中
  • 揭秘Python的魔法:装饰器的超能力大揭秘 ‍♂️✨
  • AI视频智能分析技术赋能营业厅:智慧化管理与效率新突破
  • 【SpringCloud】Spring Cloud基本介绍
  • python爬虫-爬小说
  • PTT票据传递攻击
  • 基于单片机电梯控制系统设计与实现
  • Vitis HLS 学习笔记--抽象并行编程模型-控制驱动与数据驱动
  • VBA读取文本文件数据
  • Docker(一) Docker概述
  • 【全部更新完毕】2024电工杯B题详细思路代码成品文章教学:大学生平衡膳食食谱的优化设计及评价
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Apache Spark Streaming 使用实例
  • crontab执行失败的多种原因
  • github指令
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • Javascript Math对象和Date对象常用方法详解
  • MySQL数据库运维之数据恢复
  • PAT A1092
  • ReactNative开发常用的三方模块
  • vue--为什么data属性必须是一个函数
  • 第2章 网络文档
  • 分布式事物理论与实践
  • 前端代码风格自动化系列(二)之Commitlint
  • 数据结构java版之冒泡排序及优化
  • 微信小程序填坑清单
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 数据可视化之下发图实践
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • #{} 和 ${}区别
  • #{}和${}的区别是什么 -- java面试
  • #LLM入门|Prompt#3.3_存储_Memory
  • (4) PIVOT 和 UPIVOT 的使用
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)winform之ListView
  • ./configure、make、make install 命令
  • .net Signalr 使用笔记
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .net8.0与halcon编程环境构建
  • .NET处理HTTP请求
  • .net连接oracle数据库
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • @EnableAsync和@Async开始异步任务支持
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?
  • [2016.7 Day.4] T1 游戏 [正解:二分图 偏解:奇葩贪心+模拟?(不知如何称呼不过居然比std还快)]
  • [30期] 我的学习方法
  • [android] 练习PopupWindow实现对话框
  • [Angular] 笔记 6:ngStyle