首页 / NestJS 入门教程 / 安装与环境搭建

NestJS 入门教程

安装与环境搭建

本教程共 47 篇 · 第 2 篇 · 更新于 2026-08-09 · 约 8 分钟阅读

NestJS安装Nest CLINode.jsVS Code环境配置

本节目标:搭好 NestJS 的开发环境,能创建项目、跑起来、看到 “Hello World!”。

先装 Node.js

NestJS 跑在 Node.js 上,这是前提条件。

NestJS 11 要求 Node.js 版本 >= 20。打开终端检查一下你当前的版本:

node -v

如果没装或者版本太低,推荐用 nvm 来管理 Node.js 版本。nvm 能让你在同一台机器上装多个 Node.js 版本,随时切换。

# 安装 Node.js 20
nvm install 20
nvm use 20
Tip

Windows 用户用 nvm-windows,macOS/Linux 用户用 nvm。两者命令略有不同,但都能达到同样的效果。

装好之后,确认 npm 也跟着装好了:

npm -v

npm 是 Node.js 自带的包管理器,不需要单独安装。如果你更喜欢 pnpm 或 yarn,也完全可以,后面创建项目时可以选择。

安装 Nest CLI

Nest CLI 是官方脚手架工具,能帮你快速创建项目、生成代码文件。

# 三种包管理器任选一种
npm install -g @nestjs/cli
# 或
yarn global add @nestjs/cli
# 或
pnpm add -g @nestjs/cli

装完之后验证一下:

nest --version

能看到版本号就说明装好了。

Note

如果全局安装遇到权限问题(macOS/Linux),不要用 sudo npm install -g,建议改用 nvm 来管理 Node.js,nvm 安装的 Node.js 不需要 sudo 权限。

创建第一个项目

一切就绪,来创建项目:

nest new my-first-nest-app

CLI 会问你选哪个包管理器:

? Which package manager would you like to use?
❯ npm
  yarn
  pnpm

用方向键选择,回车确认。然后等它安装依赖,大概几十秒。

安装完成后,目录结构长这样:

my-first-nest-app/
├── src/
│   ├── app.controller.ts
│   ├── app.controller.spec.ts
│   ├── app.module.ts
│   ├── app.service.ts
│   └── main.ts
├── test/
├── package.json
├── tsconfig.json
├── nest-cli.json
└── ...

这些文件各有各的用处,下一章会详细讲。现在你只需要知道:

文件作用
main.ts应用入口,启动 HTTP 服务
app.module.ts根模块,应用的”总装配图”
app.controller.ts控制器,处理 HTTP 请求
app.service.ts服务,处理业务逻辑
app.controller.spec.ts控制器的单元测试

把项目跑起来

进入项目目录,启动开发服务器:

cd my-first-nest-app
npm run start:dev

start:dev 是开发模式,带热重载——你改了代码保存后,服务会自动重启。

打开浏览器,访问 http://localhost:3000,你会看到:

Hello World!

恭喜,你的第一个 NestJS 应用跑起来了。

Tip

开发时推荐一直用 npm run start:dev,改完代码自动刷新,不用手动重启。

常用脚本速查

package.json 里预定义了一堆脚本,日常开发最常用的就这几个:

{
  "scripts": {
    "build": "nest build",
    "start": "nest start",
    "start:dev": "nest start --watch",
    "start:debug": "nest start --debug --watch",
    "start:prod": "node dist/main",
    "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
    "test": "jest",
    "test:e2e": "jest --config ./test/jest-e2e.json"
  }
}
命令什么时候用
npm run start:dev日常开发,改代码自动重启
npm run build打包成生产代码
npm run start:prod跑生产版本
npm run test跑单元测试
npm run lint检查代码规范
Note

npm run start:dev 底层用的是 nest start --watch,效果一样。你也可以直接写 nest start --watch

Nest CLI 常用命令

除了创建项目,CLI 还有很多实用命令。后面写代码时会频繁用到 nest generate

# 生成一个模块
nest generate module users

# 生成一个控制器
nest generate controller users

# 生成一个服务
nest generate service users

这些命令都有简写:

nest g mo users    # 等同于 generate module users
nest g co users    # 等同于 generate controller users
nest g s users     # 等同于 generate service users
Tip

刚开始记不住简写没关系,用完整命令就行。写多了自然就记住了。

VS Code 配置建议

NestJS 项目用 VS Code 开发体验最好。推荐装几个扩展:

扩展用途
ESLint代码规范检查
Prettier - Code formatter代码格式化
NestJS Files快速创建 NestJS 文件

再配一下 settings.json,让保存时自动格式化:

{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit"
  },
  "typescript.tsdk": "node_modules/typescript/lib"
}

这个配置放在项目根目录的 .vscode/settings.json 里。CLI 创建的项目已经帮你配好了一部分,你可以按需调整。

常见问题

端口 3000 被占用了怎么办?

换个端口就行。打开 src/main.ts,把端口改成别的:

await app.listen(3001);

或者用环境变量:

await app.listen(process.env.PORT ?? 3000);

npm install 很慢怎么办?

换个镜像源:

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

装完之后再跑 npm install 就快了。

TypeScript 报错”找不到模块”怎么办?

大概率是依赖没装全。删掉 node_modulespackage-lock.json,重新装一次:

rm -rf node_modules package-lock.json
npm install

小结

环境搭好了,项目也能跑了。整个过程其实就三步:装 Node.js、装 Nest CLI、nest new 创建项目。

接下来会拆解项目的文件结构,搞清楚每个文件是干嘛的。