nvm常用命令行操作

nvm(Node Version Manager)是管理 Node.js 版本的工具,以下是常用命令行操作,涵盖安装、版本管理、切换等核心功能:

一、安装与验证

  1. 安装 nvm (需先卸载全局 Node.js)

    • Windows:推荐使用 nvm-windows(下载 nvm-setup.exe 安装)

    • Mac/Linux:

      bash 复制代码
      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
      # 或用 wget
      wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
  2. 验证安装成功

    bash 复制代码
    nvm --version  # 显示版本号即成功

二、核心版本管理命令

  1. 查看可安装的 Node.js 版本

    bash 复制代码
    nvm ls-remote  # 列出所有可安装的版本(带 LTS 标记的是长期支持版)
    nvm ls-remote --lts  # 只显示 LTS 版本(推荐生产环境使用)
  2. 安装指定版本

    bash 复制代码
    nvm install 18.18.0  # 安装具体版本(如 18.18.0)
    nvm install lts/hydrogen  # 安装最新的 LTS 版本(如 hydrogen 是 Node.js 18 的代号)
    nvm install node  # 安装最新的稳定版
  3. 查看已安装的版本

    bash 复制代码
    nvm ls  # 列出所有已安装版本(带 `*` 的是当前使用的版本)
    nvm current  # 显示当前激活的版本
  4. 切换使用的版本

    perl 复制代码
    nvm use 18.18.0  # 切换到指定版本(需先安装)
    nvm use lts  # 切换到最新的 LTS 版本
  5. 设置默认版本 (重启终端后仍生效)

    csharp 复制代码
    nvm alias default 18.18.0  # 将 18.18.0 设为默认版本

三、其他常用命令

  1. 卸载指定版本

    bash 复制代码
    nvm uninstall 16.20.2  # 卸载已安装的版本
  2. 临时禁用 nvm

    bash 复制代码
    nvm deactivate  # 临时使用系统全局安装的 Node.js(如果有)
  3. 查看 Node.js 版本对应的 npm 版本

    perl 复制代码
    nvm use 18.18.0
    npm --version  # 显示当前 Node 版本对应的 npm 版本
  4. 为不同项目指定 Node 版本
    在项目根目录创建 .nvmrc 文件,写入版本号(如 18.18.0),执行:

perl 复制代码
   nvm use  # 会自动读取 .nvmrc 并切换到对应版本
   ```
### 四、常见问题解决
-   **切换版本后命令失效**:重启终端或执行 `source ~/.bashrc`(Mac/Linux)刷新配置。
-   **权限问题**:Mac/Linux 下避免使用 `sudo nvm`,可能导致权限错误。
-   **Windows 下无法切换版本**:确保安装路径无空格和特殊字符,且以管理员身份运行终端。
通过这些命令,可以灵活管理多个 Node.js 版本,适配不同项目的依赖需求。
相关推荐
一只叫煤球的猫几秒前
写代码很6,面试秒变菜鸟?不卖课,面试官视角走心探讨
前端·后端·面试
excel1 小时前
Three.js 材质(Material)详解 —— 区别、原理、场景与示例
前端
掘金安东尼1 小时前
抛弃自定义模态框:原生Dialog的实力
前端·javascript·github
hj5914_前端新手5 小时前
javascript基础- 函数中 this 指向、call、apply、bind
前端·javascript
薛定谔的算法5 小时前
低代码编辑器项目设计与实现:以JSON为核心的数据驱动架构
前端·react.js·前端框架
Hilaku5 小时前
都2025年了,我们还有必要为了兼容性,去写那么多polyfill吗?
前端·javascript·css
yangcode5 小时前
iOS 苹果内购 Storekit 2
前端
LuckySusu5 小时前
【js篇】JavaScript 原型修改 vs 重写:深入理解 constructor的指向问题
前端·javascript
LuckySusu5 小时前
【js篇】如何准确获取对象自身的属性?hasOwnProperty深度解析
前端·javascript
LuckySusu5 小时前
【js篇】深入理解 JavaScript 作用域与作用域链
前端·javascript