NestJs 在docker构建时,出现ReferenceError: crypto is not defined
- v18+ 完全支持
crypto.randomUUID()等标准方法 - TypeORM 的某些工具函数会在模块初始化时立即调用
globalThis.crypto - Node.js 的 crypto polyfill 可能尚未完成全局注入
- 特别是在 Docker 容器等受限环境中,这种时序问题更容易显现
解决方案
修改基础镜像
FROM node:20-alpine
NestJs 在docker构建时,出现ReferenceError: crypto is not defined
crypto.randomUUID() 等标准方法globalThis.crypto修改基础镜像
FROM node:20-alpine