Node.js 开发环境从零搭建:nvm 版本管理 + npm 加速实战指南

概述

Node.js 几乎是前端开发、后端 API、DevOps 工具的标配运行时。但很多新手踩坑:全局装的包版本混乱,切项目时 npm 版本不兼容,下载依赖慢到怀疑人生。

这篇教程用 nvm 管理 Node.js 版本,配好 npm 镜像,从零搭一个干净的开发环境。全程命令行操作,Mac 和 Linux 通用。

准备工作

你需要的是:

  • 一台能上网的电脑或 VPS(macOS / Ubuntu / Debian / CentOS 均可)
  • 终端访问权限(Mac 自带 Terminal,Linux 用 ssh 连上去)
  • 大概 10 分钟空闲时间

nvm 是 Node Version Manager 的缩写,专门用来管理多个 Node.js 版本。用它装 Node.js,比直接用包管理器更灵活。

安装步骤

第一步:安装 nvm

打开终端,执行以下命令:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

装完后关闭终端再重新打开,或者手动加载:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

验证 nvm 是否装好:

nvm --version
# 应该输出 0.40.1 或更高版本

如果提示 command not found,说明环境变量没生效。检查 ~/.bashrc 或 ~/.zshrc 末尾有没有自动写入 nvm 的配置行。

第二步:安装 Node.js

nvm 装好之后,安装 Node.js 就很简单了。推荐装 LTS(长期支持)版本:

nvm install --lts

如果想指定具体版本也可以:

nvm install 20
nvm install 22

查看已安装的版本:

nvm ls

默认使用哪个版本:

nvm alias default 20

这样每次打开新终端都会自动切换到 Node 20。

第三步:配置 npm 国内镜像

npm 默认的包源在国外,下载速度慢。改成国内镜像会快很多。

用淘宝镜像:

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

验证配置是否生效:

npm config get registry
# 应该输出 https://registry.npmmirror.com

顺便配一下全局包的存储位置,避免权限问题:

mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'

把全局 bin 目录加到 PATH:

# Bash 用户
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

# Zsh 用户
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc
source ~/.zshrc

第四步:创建第一个项目

环境配好了,来跑个 Hello World。

mkdir -p ~/projects/node-hello
cd ~/projects/node-hello

初始化项目:

npm init -y

这会生成 package.json 文件。然后写个简单的脚本:

cat > app.js << 'EOF'
const http = require('http');

const server = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello from Node.js!\n');
});

server.listen(3000, () => {
  console.log('Server running on http://localhost:3000');
});
EOF

启动服务:

node app.js

另开一个终端,用 curl 测试:

curl http://localhost:3000
# 应该输出 Hello from Node.js!

第五步:安装常用开发工具

实际开发中,你还需要这些工具:

# TypeScript 编译器(全局安装)
npm install -g typescript

# ESLint 代码检查
npm install -g eslint

# Prettier 代码格式化
npm install -g prettier

# ts-node 直接运行 TypeScript
npm install -g ts-node

验证安装:

tsc --version
eslint --version
prettier --version
ts-node --version

验证安装

跑几条命令确认一切正常:

# 检查 Node 版本
node --version
# 应该输出 v20.x.x 或 v22.x.x

# 检查 npm 版本
npm --version
# 应该输出 10.x.x 或更高

# 检查 nvm
nvm --version
# 应该输出 0.40.x

# 检查 npm 镜像
npm config get registry
# 应该输出 https://registry.npmmirror.com

# 测试项目运行
cd ~/projects/node-hello
node app.js &
curl http://localhost:3000
kill %1

全部通过就说明环境没问题了。

常见问题

Q: nvm install 后 node 命令找不到?

nvm 装的 Node.js 路径在 ~/.nvm/versions/node/ 下面。运行 which node 看指向哪里。如果不在预期路径,执行 nvm use default 强制切换。

Q: npm install 报 EACCES 权限错误?

不要直接用 sudo 跑 npm。要么修复 npm-global 目录权限:

sudo chown -R $(whoami) ~/.npm-global

要么参考 npm 官方文档 重新配置全局目录。

Q: 换了镜像还是下载慢?

淘宝镜像偶尔不稳定。可以试试腾讯云镜像:

npm config set registry https://mirrors.cloud.tencent.com/npm/

或者华为云:

npm config set registry https://repo.huaweicloud.com/repository/npm/

Q: 项目里有的 Node 版本和项目需要的不一样怎么办?

在项目根目录放一个 .nvmrc 文件:

echo "20" > .nvmrc

然后在项目目录下执行:

nvm use

nvm 会自动切换到 20.x。很多编辑器插件也支持读取 .nvmrc 自动切换。

Q: 想卸载某个 Node 版本?

nvm uninstall 18

nvm 管理的版本互不影响,随便删。


环境搭好了,接下来就是写代码了。Node.js 生态丰富,Express、Fastify、Next.js 随便挑。

你的下一个 Node.js 项目准备用什么框架?

这篇文章对你有帮助吗?