#!/usr/bin/env node import fs from 'fs'; import path from 'path'; import { execSync } from 'child_process'; import { fileURLToPath } from 'url'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); // 读取 .nvmrc 文件获取所需的 Node.js 版本 const requiredVersion = fs.readFileSync(path.join(__dirname, '..', '.nvmrc'), 'utf8').trim(); const currentVersion = process.version.slice(1); // 移除版本号前的 'v' console.log(`检查 Node.js 版本...`); console.log(`当前版本: ${currentVersion}`); console.log(`所需版本: ${requiredVersion}`); // 比较版本号的主要部分 const currentMajor = parseInt(currentVersion.split('.')[0], 10); const requiredMajor = parseInt(requiredVersion.split('.')[0], 10); if (currentMajor !== requiredMajor) { console.error(`\n错误: Node.js 版本不匹配!`); console.error(`本项目需要 Node.js ${requiredVersion}`); console.error(`当前使用的是 Node.js ${currentVersion}`); console.error(`\n请尝试以下方法之一:`); console.error(`1. 如果已安装 nvm: 运行 'nvm use ${requiredVersion}'`); console.error(`2. 安装所需版本: 'nvm install ${requiredVersion}'`); console.error(`3. 从 https://nodejs.org/ 下载并安装 Node.js ${requiredVersion}`); process.exit(1); } console.log(`Node.js 版本检查通过!`);