You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NestJS项目升级Node后编译报错:ts.createNodeArray is not a function

解决NestJS迁移Node v19.7后ts.createNodeArray is not a function报错问题

问题根源

你遇到的ts.createNodeArray is not a function错误,核心是依赖版本不兼容:

  • 项目使用NestJS v8.x版本,但升级了TypeScript到v5.0.3。NestJS v8对TypeScript 5.x无兼容性支持,ts.createNodeArray是TypeScript 4.x及之前的API,在TS5中已被移除/重构,而旧版Nest CLI(v8.2.8)仍在调用这个废弃API,导致报错。

解决方案

方案1:降级TypeScript到NestJS v8兼容版本

NestJS v8官方支持TypeScript 4.0~4.9.x,操作步骤:

  1. 修改package.json中的typescript版本为^4.9.5(推荐稳定版)
  2. 清理依赖并重新安装:
rm -rf node_modules package-lock.json
npm cache clean --force
npm install
  1. 再次执行npm run start-watch

方案2:升级NestJS到支持TypeScript 5.x的版本

若想保留TypeScript 5.x特性,需将NestJS核心依赖升级到v9或v10(v9开始支持TS5):

  1. 更新package.json中所有@nestjs/*依赖到v9.x稳定版(比如@nestjs/common、@nestjs/core、@nestjs/cli等),确保版本号一致
  2. 清理依赖重新安装:
rm -rf node_modules package-lock.json
npm cache clean --force
npm install
  1. 检查项目代码,修复NestJS版本升级带来的破坏性变更(如装饰器语法、API调整等)

额外注意事项

  • 确保@nestjs/cli版本与NestJS核心版本保持一致,避免CLI与框架版本不匹配引发问题
  • 升级依赖后,核对tsconfig.json编译配置是否符合对应NestJS版本的要求(比如target、module等选项)

内容的提问来源于stack exchange,提问作者ysdev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 09:34:57