首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
Teable 开发模式修改后端代码不生效、3000 端口被占用怎么排查?
📅 2026/9/13 17:58:09
✍️ 爱科研究院
👁 阅读 3,247
Teable 开发模式修改后端代码不生效、3000 端口被占用怎么排查【免费下载链接】teable✨ AI Spreadsheet for Business项目地址: https://gitcode.com/GitHub_Trending/te/teable在 Teable 仓库里以开发模式跑起来之后apps/nestjs-backend下执行pnpm dev有两个容易同时出现的现象改完后端代码刷新页面却不生效以及 3000 端口被残留进程占用导致重启失败。Teable 的 CONTRIBUTING.md 在 Known Issues 一节把这两个现象归为同一类问题开发模式下的热重载重启引发的端口冲突并给出了用lsof -i:3000定位、kill -9清理、再pnpm dev重启的处理路径。这篇文章按文档给出的流程走一遍先交代开发模式的端口分配再给出完整的检查与恢复步骤。适用环境Linux/MacWindows 需使用 WSL2PostgreSQL 开发库依赖 Docker。为什么会出现这两个现象开发模式的端口分配先看 Teable 开发模式里各端口被谁占用这是理解问题前提配置来源是 apps/nextjs-app/.env.developmentPORT3000后端NestJSHTTP 服务端口SOCKET_PORT3001应用自身的 websocket 端口PUBLIC_ORIGINhttp://localhost:3000。按 CONTRIBUTING.md 的说明开发模式下 Next.js 会占用 3000 端口的 websocket 通道来触发热重载为了避免冲突应用的 websocket 挪到了 3001所以你会在.env.development.local里看到SOCKET_PORT3001。而生产环境默认用 3000 端口处理 websocket 请求。冲突的触发条件文档也写清楚了开发模式下代码改动会触发热重载如果改动影响到apps/nestjs-backend包括packages/core、packages/db-main-prismanodejs 进程可能重启重启过程中就可能留下端口冲突。表现就是后端代码改动看起来没有生效此时 3000 端口大概率还被旧进程占着。准备按文档方式启动开发环境如果还没跑起来按 CONTRIBUTING.md与 README.md 的 Development 一节一致初始化# 启用包管理器 corepack enable # 安装依赖 pnpm installTeable 开发使用 PostgreSQL且要求已安装 Docker。初始化数据库用make switch-db-mode这一步会交互式询问选择哪种数据库1) postgres(pg)选择1即可它对应 Makefile 中的switch-db-mode目标会启动 postgres 容器、等待 healthy 后执行 prisma 的 generate 与 migrate deploy。可选的环境配置覆盖用于需要自定义变量时cd apps/nextjs-app cp .env.development .env.development.local最后启动开发服务cd apps/nestjs-backend pnpm dev这条命令会自动把后端和前端服务器一起启动并开启热重载。pnpm dev背后是 apps/nestjs-backend/package.json 里的nest start --webpackPath ./webpack.dev.js -w即 webpack watch 模式文件变化自动重载。修改后端代码不生效时检查 3000 端口按文档给出的排查顺序当后端代码改动看似没有生效时先确认端口是否被占用lsof -i:3000判断方式输出中出现监听 3000 端口的进程通常是上一个没退干净的 node 进程就说明是文档描述的端口冲突继续下一步清理如果没有任何进程占用 3000则不属于文档覆盖的这个已知问题需要另行排查文档未给出其他情形的处理。释放端口并重启开发服务清理命令会强制终止进程执行前确认[pid]就是上一步lsof -i:3000输出中占用 3000 端口的进程 PID不要对无关进程执行kill -9 [pid] # [pid] 替换为 lsof 输出中的进程 PID然后回到后端目录重新启动cd apps/nestjs-backend pnpm dev文档给出的恢复路径到此结束旧进程被清理、开发服务以热重载重新跑起来后后续对apps/nestjs-backend的改动即可正常热更新。限制与注意事项SOCKET_PORT3001是开发模式的设计值不是配置错误不要把它改回 3000生产环境默认使用 3000 处理 websocket 请求两者行为不同。热重载端口冲突主要出现在改动影响apps/nestjs-backendpackages/core、packages/db-main-prisma的场景这是文档点名的触发范围。拉取最新代码后的常规维护文档建议在pnpm install之后再执行一次make switch-db-mode保持依赖与数据库 schema 同步如果你刚改过 schema还涉及make gen-prisma-schema、make db-migration等迁移流程超出本文排查范围详见 CONTRIBUTING.md 的 Database Migration Workflow 一节。【免费下载链接】teable✨ AI Spreadsheet for Business项目地址: https://gitcode.com/GitHub_Trending/te/teable创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/9/13 17:58:09
amis Page 页面组件完全指南:顶级容器、数据初始化与事件动作实战
2026/9/13 17:58:09
深入解析 lo.CountValues:用 Go 泛型统计切片元素频次的完整指南
2026/9/13 17:53:09
OpenClaw 会话转录卫生(Transcript Hygiene):Provider 重放前的内存级清理、配对修复与签名处理机制全解
2026/9/13 18:38:12
从 CGridCtrl demo 到实战:解锁单元格编辑、下拉框与排序功能
2026/9/13 18:38:12
Vector Protobuf 编码测试数据:目录结构、底层链路与 `make generate-test-payload` 重新生成指南
2026/9/13 18:38:12
Kubespray 集成 Kube-OVN 部署指南:基于 OVN 的企业级容器网络实践
2026/9/13 18:38:12
图书封面识别实战:从ocr.tar.gz解包到CRNN训练推理全解析
2026/9/13 18:38:11
数据中台与数据治理:协同构建企业数据能力
2026/9/13 18:33:11
mootdx安装使用指南:从tar.gz到A股行情数据
2026/9/13 0:01:25
拯救者Y7000黑屏故障排查与维修实战指南
2026/9/13 0:01:25
AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
2026/9/13 0:01:25
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化
2026/9/13 0:01:25
拯救者Y7000黑屏故障排查与维修实战指南
2026/9/13 0:01:25
AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
2026/9/13 0:01:25
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化