运行NestJS微服务时出现this.assertNotInPreviewMode未找到错误
解决NestJS微服务运行时
assertNotInPreviewMode is not a function错误 可能原因及解决步骤:
版本不兼容:@nestjs/core和@nestjs/microservices版本不一致是最常见的原因。
assertNotInPreviewMode是NestJS较新版本中新增的方法,如果核心包和微服务包版本不匹配,就会出现找不到函数的问题。- 打开
package.json,检查@nestjs/core和@nestjs/microservices的版本号,确保两者完全一致。 - 如果版本不同,执行统一版本的安装命令,比如升级到最新稳定版:
或者指定具体版本(比如10.3.0):npm install @nestjs/core@latest @nestjs/microservices@latestnpm install @nestjs/core@10.3.0 @nestjs/microservices@10.3.0
- 打开
依赖安装不完整:缓存问题或中断的安装过程可能导致包文件缺失。
- 删除项目根目录下的
node_modules文件夹和package-lock.json文件(如果用yarn则删除yarn.lock)。 - 重新执行安装命令:
npm install
- 删除项目根目录下的
误用预览版API:如果你的代码中使用了NestJS微服务的预览功能(比如某些实验性传输器),而对应的微服务包版本未包含
assertNotInPreviewMode方法,也会触发该错误。此时要么升级到支持该预览功能的版本,要么改用稳定版的API实现。
内容的提问来源于stack exchange,提问作者Meth Munindradasa
相关产品推荐
相关产品推荐

