使用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
相关推荐
持梦远方2 分钟前
重生之我拿捏Linux——《三、shell脚本使用》
前端·chrome
行走在顶尖10 分钟前
代码截断运行逻辑
前端
一枚前端小能手17 分钟前
「周更第8期」实用JS库推荐:decimal.j
前端·javascript
草莓熊Lotso18 分钟前
《C++ Web 自动化测试实战:常用函数全解析与场景化应用指南》
前端·c++·python·dubbo
Tech_Lin27 分钟前
JavaScript Date时间对象的常用操作方法总结
前端·javascript
温宇飞28 分钟前
JavaScript 异常处理
前端
小岛前端32 分钟前
🔥Vue3 移动端组件精选!满足各种场景!
前端·vue.js·微信小程序
用户15105810474334 分钟前
带leading和trailing的防抖和节流
前端
IT小哥哥呀37 分钟前
论文见解:REACT:在语言模型中协同推理和行动
前端·人工智能·react.js·语言模型
不会写DN38 分钟前
用户头像文件存储功能是如何实现的?
java·linux·后端·golang·node.js·github