NestJs Typeorm `crypto is not defined`

52 阅读1分钟

NestJs 在docker构建时,出现ReferenceError: crypto is not defined

image.png

  • v18+ 完全支持 crypto.randomUUID() 等标准方法
  • TypeORM 的某些工具函数会在模块初始化时立即调用 globalThis.crypto
  • Node.js 的 crypto polyfill 可能尚未完成全局注入
  • 特别是在 Docker 容器等受限环境中,这种时序问题更容易显现

解决方案

修改基础镜像

FROM node:20-alpine

References

blog.gitcode.com/8f94cdd7ca7…