第4章 必装工具:Node.js、npm/yarn、Git等
说到搭建模块化渲染性能基准测试,我第一个想到的就是环境准备。很多人觉得不就是装几个软件嘛,但我在项目中踩过不少坑,才明白这一步其实挺关键。本期我们就来聊聊Node.js、npm/yarn、Git这些必装工具,以及怎么装才不出问题。
说白了,这些工具是整个测试流水线的地基。Node.js提供JS运行时,npm/yarn管依赖,Git管代码版本。缺一个,后面都可能跑不起来。我习惯先把它们装好再往后走。
Node.js 是运行时 → npm/yarn 管理包依赖 → Git 控制代码变更 → 三者缺一不可
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 init | yarn init |
| 安装依赖 | npm install | yarn install |
| 添加依赖 | npm install <pkg> | yarn add <pkg> |
| 全局安装 | npm install -g | yarn global add |
| 锁定文件 | package-lock.json | yarn.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 里。团队新人一看就知道该装什么版本,省得每人踩一遍坑。好了,工具准备好之后,下一部分我们会正式搭建测试项目结构。