根据 package.json 中的 engines 字段自动检测 Node.js 版本需求,未安装 nvm 时自动安装并切换至对应版本。支持 Windows、macOS、Linux。适用于 Node.js 项目开发、版本切换和环境配置。
根据 package.json 的 engines 字段自动切换到正确的 Node.js 版本。
powershell
# 自动获取当前目录
.\scripts\nvm-auto-switch.ps1
# 或指定项目路径
.\scripts\nvm-auto-switch.ps1 [项目路径]
bash
# 自动获取当前目录
./scripts/nvm-auto-switch.sh
# 或指定项目路径
./scripts/nvm-auto-switch.sh [项目路径]
text
获取项目路径(参数或当前目录)
↓
检查当前 Node 版本
↓
读取 package.json engines.node
解析版本要求 (例如 >=14.0.0)
↓
当前版本已满足要求?
├── 是 → 跳过切换,提示当前版本兼容
│
└── 否 → 继续
↓
检查 NVM 是否已安装?
├── 否 → 自动安装 NVM
│ ├── Windows: 下载 nvm-setup.exe
│ └── macOS/Linux: 运行安装脚本
│
└── 是 → 继续
↓
查找匹配的已安装版本?
├── 是 → nvm use <版本号>
│
└── 否 → nvm install <最新匹配版本>
nvm use <版本号>
scripts/ 目录下的工具脚本:
脚本平台用途nvm-auto-switch.ps1WindowsPowerShell 实现nvm-auto-switch.shmacOS/LinuxBash 实现
当前目录(自动获取):
bash
./scripts/nvm-auto-switch.sh
powershell
.\scripts\nvm-auto-switch.ps1
指定项目:
bash
./scripts/nvm-auto-switch.sh /path/to/project
powershell
.\scripts\nvm-auto-switch.ps1 "C:\projects\my-app"
^, ~, >=, <= 等