使用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
相关推荐
张龙6879 分钟前
构建生产级 AI Agent:工具调用与记忆架构实战指南
前端
kyriewen1 小时前
2026 年了,还在用 Node.js?Bun 迁移实战:20 分钟搞定,附踩坑记录
前端·javascript·node.js
青山Coding3 小时前
Cesium应用(八):物体运动的实现思路
前端·cesium
用户41659673693553 小时前
Android WebView 加载 file:// 离线页面调试教程
android·前端
Asmewill3 小时前
curl命令学习笔记一
前端
我是一只快乐的小螃蟹3 小时前
1.2 ArrayList 源码解析
前端
星栈3 小时前
我用 Rust + Dioxus 做了个全栈跨平台笔记应用:再把新建、编辑和交付补上
前端·rust·前端框架
我是一只快乐的小螃蟹3 小时前
1.1 HashMap (JDK1.8) 源码解析
前端
爱勇宝6 小时前
小红花成长新版:模板来了,鼓励也更容易开始
前端·后端·程序员
竹林8186 小时前
Solana前端开发:我在一个NFT铸造页面上被@solana/web3.js的Connection和Transaction签名坑了两天
前端