同济线性代数第四版PDF学习指南:版本对比、卡点解析与高效使用法
2026/9/6 18:45:48
项目:NestJS + Prisma + MySQL + Nginx(前后端分离)
本地环境:Mac (ARM64)
服务器:阿里云 ECS (AMD64, Ubuntu 22.04)
部署工具:Docker + Docker Compose + 阿里云 ACR
| # | 问题 | 错误现象 | 原因 | 解决办法 |
|---|---|---|---|---|
| 1 | 架构不匹配 | no matching manifest for linux/amd64/v4 in the manifest list entries | Mac ARM 芯片构建 ARM 镜像,ECS AMD64 无法运行 | 构建时指定平台:docker build --platform linux/amd64 -t image:latest . |
| 2 | Prisma Generate 崩溃 | assertion failed [block != nullptr]: BasicBlock requested for unrecognized address | Prisma 引擎需要 OpenSSL,但基础镜像中缺失 | Dockerfile 中添加:RUN apt-get update && apt-get install -y openssl |
| 3 | Prisma Client 平台不匹配 | PrismaClientInitializationError: generated for "darwin-arm64", deployment requires "debian-openssl-1.1.x" | 本地生成 Prisma Client 绑定 Mac 平台,服务器需要 Linux 版本 | 在schema.prisma中添加binaryTargets = ["native", "debian-openssl-1.1.x"] |
| 4 | 构建产物缺失 | Error: Cannot find module '/app/dist/main.js' | npm run build输出到dist/src/main.js,但 CMD 是node dist/main.js | 修改 CMD 为node dist/src/main.js,或修改package.json中start:prod脚本 |
| # | 问题 | 错误现象 | 原因 | 解决办法 |
|---|---|---|---|---|
| 5 | 连接 localhost 失败 | P1001: Can't reach database server at localhost:3306 | 容器内localhost指向容器自身,不是 MySQL 容器 | .env中数据库地址用容器名mysql:mysql://design_view:pass@mysql:3306/db,schema.prisma用env()读取 |
| 6 |