切换Node.js版本后NestJS服务器所有路由返回404错误求助
NestJS 路由全404问题排查与解决
- 清理残留缓存与锁文件
- 执行
npm cache clean --force清除npm全局缓存,避免旧版本依赖的缓存残留 - 删除项目根目录下的
package-lock.json(或yarn.lock)文件,重新安装依赖时会生成适配当前Node.js版本的锁文件
- 执行
- 确认Node.js版本一致性
- 运行
node -v检查当前终端环境使用的Node.js版本是否确实为16.5.0,若用版本管理工具(如nvm),需确保已切换到目标版本
- 运行
- 对齐NestJS依赖版本
- 检查
package.json中@nestjs/core、@nestjs/common等核心依赖的版本,确认其与Node.js 16.5.0兼容(NestJS v8及以上版本适配Node.js 14+) - 必要时重新安装全局NestJS CLI:
npm install -g @nestjs/cli,再在项目内执行npm install
- 检查
- 检查应用启动与模块配置
- 验证
main.ts中app.listen(3000)的端口配置正确,且未错误设置全局路由前缀 - 确认根模块(AppModule)的
imports数组中已正确引入所有包含路由的业务模块
- 验证
- 核对路由定义细节
- 检查控制器的
@Controller('user')装饰器是否存在拼写错误,确保路由前缀正确 - 验证
@Post()、@Get(':id')等路由装饰器的路径定义,避免多余斜杠或拼写失误
- 检查控制器的
内容的提问来源于stack exchange,提问作者Gavara.Suneel
相关产品推荐
相关产品推荐

