使用nvm管理Node.js多版本

使用nvm管理Node.js多版本

文章目录

      • 使用nvm管理Node.js多版本
        • [1. 安装nvm](#1. 安装nvm)
        • [2. 卸载nvm](#2. 卸载nvm)
        • [3. 配置环境变量](#3. 配置环境变量)
        • [4. 使用nvm管理Node.js版本](#4. 使用nvm管理Node.js版本)
        • [5. 更换npm为淘宝镜像](#5. 更换npm为淘宝镜像)

在前端开发中,不同项目可能需要使用不同的Node.js版本,手动管理Node.js版本会非常麻烦。而nvm(Node Version Manager)可以方便地帮助我们在同一台机器上安装、切换多个Node.js版本。

1. 安装nvm

在Linux和macOS上,我们可以通过以下命令安装nvm:

bash 复制代码
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

执行上述命令后,nvm的安装脚本会自动将nvm配置到环境变量中。安装成功后,可以通过以下命令来加载nvm:

bash 复制代码
source ~/.bashrc # 或 ~/.zshrc, 取决于你使用的shell

之后,可以通过以下命令验证nvm是否安装成功:

bash 复制代码
nvm --version

如果你使用的是Windows系统,可以通过nvm-windows来安装nvm。下载并运行安装程序后即可使用。

2. 卸载nvm
  • 删除~/.nvm目录:

    bash 复制代码
    rm -rf ~/.nvm
  • 移除~/.bashrc~/.zshrc中与nvm相关的配置:

    打开文件,找到包含nvm的行,手动删除它们,然后保存文件。

  • 重新加载配置文件:

    bash 复制代码
    source ~/.bashrc

至此,nvm就已经从你的系统中卸载干净了。

3. 配置环境变量

安装nvm之后,需要将其添加到环境变量中,确保可以在终端中全局使用nvm。一般来说,nvm安装脚本会自动完成这一步。但如果安装后无法使用nvm,可以手动配置。

~/.bashrc~/.zshrc文件中添加以下内容:

bash 复制代码
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

然后重新加载配置文件:

bash 复制代码
source ~/.bashrc

这将确保nvm在每次启动终端时自动加载。

4. 使用nvm管理Node.js版本

nvm可以轻松安装、卸载不同版本的Node.js。以下是一些常用命令:

  • 查看可用的Node.js版本:

    bash 复制代码
    nvm ls-remote
  • 安装指定版本的Node.js:

    bash 复制代码
    nvm install 16.13.0
  • 切换Node.js版本:

    bash 复制代码
    nvm use 16.13.0
  • 查看本地安装的Node.js版本:

    bash 复制代码
    nvm ls
  • 设置默认Node.js版本:

    bash 复制代码
    nvm alias default 16.13.0
5. 更换npm为淘宝镜像

国内访问npm的官方镜像速度较慢,因此很多开发者会选择使用国内的npm镜像。使用以下命令可以更换npm为镜像:

bash 复制代码
# 国内开发者切换到淘宝镜像
npm config set registry https://registry.npmmirror.com

# npm中国(CNPM)由阿里巴巴维护
npm config set registry https://r.cnpmjs.org

# 腾讯云npm镜像:由腾讯云提供
# 镜像地址: https://mirrors.cloud.tencent.com/npm/
# 华为云npm镜像
# 镜像地址: https://mirrors.huaweicloud.com/repository/npm/

# 国外开发者使用官方镜像
npm config set registry https://registry.npmjs.org

设置后可以通过以下命令查看当前npm的镜像地址:

bash 复制代码
npm config get registry
相关推荐
Yolanda9442 分钟前
【项目经验】钉钉免密登录实现
前端·javascript·钉钉
2601_949613021 小时前
flutter_for_openharmony家庭药箱管理app实战+药品详情实现
java·前端·flutter
We་ct1 小时前
LeetCode 15. 三数之和:排序+双指针解法全解析
前端·算法·leetcode·typescript
美狐美颜SDK开放平台1 小时前
直播场景下抖动特效的实现方案:美颜sdk开发经验分享
前端·人工智能·美颜sdk·直播美颜sdk·视频美颜sdk
草青工作室2 小时前
java-FreeMarker3.4自定义异常处理
java·前端·python
美狐美颜sdk2 小时前
抖动特效在直播美颜sdk中的实现方式与优化思路
前端·图像处理·人工智能·深度学习·美颜sdk·直播美颜sdk·美颜api
Mr Xu_2 小时前
Vue3 + Element Plus 实战:App 版本管理后台——动态生成下载二维码与封装文件上传
前端·javascript·vue.js
闻哥2 小时前
从 AJAX 到浏览器渲染:前端底层原理与性能指标全解析
java·前端·spring boot·ajax·okhttp·面试
比特森林探险记2 小时前
Vue基础语法与响应式系统详解
前端·javascript·vue.js
m0_694845572 小时前
网站账号太多难管理?Enterr 开源自动化工具搭建教程
运维·服务器·前端·开源·自动化·云计算