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 小时前
async/await高级模式:async迭代器、错误边界与并发控制
前端·javascript·github
恋猫de小郭6 小时前
2026 Flutter VS React Native ,同时在 AI 时代 VS Native 开发,你没见过的版本
android·前端·flutter
GIS之路9 小时前
ArcGIS Pro 中的 Notebooks 入门
前端
IT_陈寒10 小时前
React状态管理终极对决:Redux vs Context API谁更胜一筹?
前端·人工智能·后端
Kagol11 小时前
TinyVue 支持 Skills 啦!现在你可以让 AI 使用 TinyVue 组件搭建项目
前端·agent·ai编程
柳杉11 小时前
从零打造 AI 全球趋势监测大屏
前端·javascript·aigc
simple_lau11 小时前
Cursor配置MasterGo MCP:一键读取设计稿生成高还原度前端代码
前端·javascript·vue.js
睡不着先生11 小时前
如何设计一个真正可扩展的表单生成器?
前端·javascript·vue.js
天蓝色的鱼鱼11 小时前
模块化与组件化:90%的前端开发者都没搞懂的本质区别
前端·架构·代码规范
明君8799711 小时前
Flutter 如何给图片添加多行文字水印
前端·flutter