⚠️ Alpha内测版本警告:此为早期内部构建版本,尚不完整且可能存在错误,欢迎大家提Issue反馈问题或建议
Skip to content

0.4.2 为什么我的 Node 版本不对——Node.js 版本管理与 nvm

一句话破题

不同项目需要不同 Node 版本。用 nvm 管理 Node,用 .nvmrc 锁定项目版本,避免“在我机器上能跑”的尴尬。

nvm 安装与配置:Windows/macOS/Linux

  • Windows:使用 nvm-windows(Corey Butler 版)。
    • 安装后在 PowerShell 验证:Get-Command nvm
    • 常用命令:nvm listnvm install 18.19.0nvm use 18.19.0
  • macOS/Linux:使用 nvm(Shell 脚本版)。
    • 常用命令相同:nvm lsnvm install 20nvm use 20

Node.js 版本选择策略:LTS vs Current

  • 开发与生产优先选择 LTS(长期支持),稳定且生态兼容好。
  • 新特性探索或实验环境可用 Current,但不建议用于生产。

项目级版本锁定:.nvmrc

  • 在项目根目录创建 .nvmrc,内容为目标版本:
18.19.0
  • Windows PowerShell 下读取并切换:
powershell
$version = Get-Content .nvmrc | Select-Object -First 1
nvm use $version
node -v

环境变量与配置管理

  • 当前会话设置:$env:NODE_ENV = 'development'
  • 持久化设置:setx NODE_ENV production
  • 自定义变量:$env:API_BASE = 'https://api.example.com'

包管理器配置与优化(配合 nvm 使用)

  • registry:
    • npm config set registry https://registry.npmmirror.com
    • pnpm config set registry https://registry.npmmirror.com
  • 缓存:
    • npm cache verify
    • pnpm store prune

AI 协作指南

  • 核心意图:让 AI 帮你规范版本生成切换脚本
  • 需求定义公式:
    • “在 Windows PowerShell 下,检测 .nvmrc 并自动切换到对应版本,如果未安装则自动安装。”
  • 关键术语:nvm-windows, .nvmrc, LTS, NODE_ENV, registry, cache

避坑指南

  • Windows 下的 nvm-windows 与 Unix 的 nvm 不同;脚本互换需注意兼容。
  • 全局 Node 与项目 .nvmrc 不一致会导致依赖编译失败(如 node-gyp)。
  • 切换 Node 版本后,建议清理并重装依赖,确保二进制绑定一致。