使用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
相关推荐
zhangxingchao8 分钟前
Flutter入门:Flutter开发必备Dart基础
前端
佚名猫18 分钟前
vue3+vite+pnpm项目 使用monaco-editor常见问题
前端·vue3·vite·monacoeditor
满分观测网友z20 分钟前
vue的<router-link>的to里面的query和params的区别
前端·javascript·vue.js
BillKu22 分钟前
Vue3 + TypeSrcipt 防抖、防止重复点击实例
前端·javascript·vue.js
鱼樱前端23 分钟前
Vue3结合three和babylonjs实现3D数字展厅效果
前端·vue.js
Themberfue26 分钟前
Vue ⑥-路由
前端·javascript·vue.js
whatever who cares28 分钟前
React hook之useRef
前端·javascript·react.js
kooboo china.37 分钟前
Tailwind CSS 实战:基于 Kooboo 构建 AI 对话框页面(八):异步处理逻辑详解
前端·css·人工智能·编辑器·html·交互
天涯学馆40 分钟前
工厂模式在 JavaScript 中的深度应用
前端·javascript·面试
crary,记忆1 小时前
Angular中Webpack与ngx-build-plus 浅学
前端·webpack·angular·angular.js