第4章 必装工具:Node.js、npm/yarn、Git等

说到搭建模块化渲染性能基准测试,我第一个想到的就是环境准备。很多人觉得不就是装几个软件嘛,但我在项目中踩过不少坑,才明白这一步其实挺关键。本期我们就来聊聊Node.js、npm/yarn、Git这些必装工具,以及怎么装才不出问题。

说白了,这些工具是整个测试流水线的地基。Node.js提供JS运行时,npm/yarn管依赖,Git管代码版本。缺一个,后面都可能跑不起来。我习惯先把它们装好再往后走。

环境工具核心关系

Node.js 是运行时 → npm/yarn 管理包依赖 → Git 控制代码变更 → 三者缺一不可

模块化渲染测试环境工具栈 开发环境基础 Node.js 运行时 Git 版本控制 包管理器(npm / yarn) 版本管理器(nvm) SSH / 配置 yarn(可选替代) 工具协同说明 Node.js 提供执行环境,npm/yarn 安装依赖(如 three.js、benchmark.js),Git 管理代码版本与协作。 我建议使用 nvm 管理 Node 版本,避免项目间版本冲突。

Node.js 安装与版本管理

Node.js 是跑测试脚本的核心。我见过很多新手直接装最新的 v20,结果项目依赖不兼容。其实最好用 LTS 版本。我个人习惯装一个 nvm(Node Version Manager),可以随时切换版本。

小技巧

安装 nvm 后,用 nvm install 18 安装 LTS,再用 nvm alias default 18 设为默认

以 macOS / Linux 为例,你可以在终端执行:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.zshrc
nvm install 18
nvm use 18

Windows 用户可以用 nvm-windows。嗯,这里要注意——装完一定要重启终端或者 source 一下,否则 node 命令找不到。我曾经因为这个排查了半小时。

npm / yarn 包管理器选择

Node.js 装好自带 npm。但有些人可能更喜欢 yarn。两者本质一样,但 yarn 在某些场景下更快,更有确定性。我在做基准测试项目时,用过 yarn 的离线缓存,确实能节省反复下载的时间。

看下常用命令对比:

操作 npm yarn
初始化项目npm inityarn init
安装依赖npm installyarn install
添加依赖npm install <pkg>yarn add <pkg>
全局安装npm install -gyarn global add
锁定文件package-lock.jsonyarn.lock
注意

不要混用 npm 和 yarn 安装同一个项目!两个 lock 文件会冲突。选一个统一团队使用。

你想想看,如果团队一半用 npm 一半用 yarn,每次跑 install 都可能产生不同的 node_modules 结构,测试结果就不一致了。我建议团队统一用 yarn,因为它有 --frozen-lockfile 模式,能保证 CI 环境与本地一致。

Git 版本控制配置

Git 是测试项目的「时间胶囊」。我们不仅要装 Git,还要配置好用户信息,方便后续协作与回滚。

安装 Git 很简单:

# macOS
brew install git

# Ubuntu
sudo apt install git

# Windows 直接下载 Git for Windows

装完后第一时间配置名字和邮箱:

git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"

另外 SSH Key 也要配好,不然每次 push 都要输密码。我之前在 Windows 上遇到 Git 自动换行导致 shell 脚本崩了,后来改成 git config --global core.autocrlf input 才解决。嗯,跨平台项目这个坑要记住。

对于基准测试项目,我建议把 node_modules 和测试输出目录加到 .gitignore:

node_modules/
dist/
*.log
bench-results/
.vscode/
.DS_Store

环境验证与调试技巧

装完工具后别急着跑。验证一下环境是否健康。我习惯跑一个快速检查脚本:

node -v   # 期望 v18.x
npm -v    # 期望 9.x
yarn -v   # 可选,期望 1.22.x
git --version  # 期望 2.x

如果版本不对,检查 PATH 变量。另一个常见问题:npm 默认 registry 在国外,国内安装慢。可以换成淘宝镜像:

npm config set registry https://registry.npmmirror.com

yarn 也同样支持:

yarn config set registry https://registry.npmmirror.com
避坑指南

我曾经在 CI 环境忘了配 SSH Key,git clone 卡了半小时。现在我会在装完 Git 后立刻生成密钥:ssh-keygen -t ed25519 -C "your_email",然后把公钥添加到 GitHub / GitLab。

最后,把这些工具的版本和配置记录在项目的 README.md 里。团队新人一看就知道该装什么版本,省得每人踩一遍坑。好了,工具准备好之后,下一部分我们会正式搭建测试项目结构。