如何配置 Node.js 环境
步骤 1:安装 fnm(Fast Node Manager)
macOS/Linux
bash
# 使用 Homebrew
brew install fnm
# 或使用安装脚本
curl -fsSL https://fnm.vercel.app/install | bashWindows
powershell
# 使用 Scoop
scoop install fnm
# 或使用 Winget
winget install Schniz.fnm配置 Shell
将以下内容添加到你的 shell 配置文件(~/.zshrc 或 ~/.bashrc):
bash
# fnm
eval "$(fnm env --use-on-cd)"重新加载配置:
bash
source ~/.zshrc # 或 source ~/.bashrc步骤 2:安装 Node.js
bash
# 查看可用的 LTS 版本
fnm list-remote --lts
# 安装最新 LTS(推荐)
fnm install --lts
# 或安装特定版本
fnm install 20.11.0
# 设为默认版本
fnm default 20.11.0
# 验证安装
node --version # v20.11.0
npm --version # 10.x.x步骤 3:安装和配置 pnpm
bash
# 使用 npm 安装 pnpm
npm install -g pnpm
# 或使用 standalone 脚本
curl -fsSL https://get.pnpm.io/install.sh | sh -
# 验证安装
pnpm --version # 8.x.x配置 pnpm
创建全局配置文件 ~/.npmrc:
ini
# pnpm 性能优化
prefer-frozen-lockfile=true
resolution-mode=highest
# 安全设置
engine-strict=true
audit-level=moderate
# 使用国内镜像(可选)
registry=https://registry.npmmirror.com步骤 4:配置项目
创建项目目录
bash
mkdir my-project
cd my-project初始化项目
bash
pnpm init创建版本约束文件
创建 .nvmrc 文件:
bash
echo "20.11.0" > .nvmrc配置 package.json
编辑 package.json,添加以下配置:
json
{
"name": "my-project",
"version": "1.0.0",
"packageManager": "[email protected]",
"engines": {
"node": ">=20.11.0 <21.0.0",
"pnpm": ">=8.0.0"
},
"scripts": {
"preinstall": "npx only-allow pnpm"
}
}创建项目 .npmrc
bash
cat > .npmrc << 'EOF'
# 依赖管理
shamefully-hoist=false
strict-peer-dependencies=true
auto-install-peers=false
# 性能
prefer-frozen-lockfile=true
# 安全
engine-strict=true
EOF步骤 5:验证配置
运行以下命令验证环境:
bash
# 检查 Node.js 版本
node --version
# 预期:v20.11.0
# 检查 pnpm
pnpm --version
# 预期:8.x.x
# 测试版本切换
cd ..
node --version # 可能是其他版本
cd my-project
node --version # 自动切换到 v20.11.0
# 测试包管理器约束
npm install # 应该报错
pnpm install # 应该成功常见问题
fnm 命令未找到
确保已将 fnm 添加到 PATH:
bash
echo 'eval "$(fnm env --use-on-cd)"' >> ~/.zshrc
source ~/.zshrc版本切换不生效
bash
# 手动切换
fnm use
# 检查当前版本
fnm currentpnpm 安装失败
bash
# 清理 npm 缓存
npm cache clean --force
# 重新安装
npm install -g pnpm@latest下一步
环境配置完成!现在你可以:
- 配置 TypeScript - 添加类型支持
- 配置 ESLint - 添加代码检查
- 创建 Monorepo - 管理多包项目
提示:使用 fnm + pnpm 的组合可以获得最佳的性能和开发体验。

