首页
/ Overleaf Community Edition 开发环境搭建指南

Overleaf Community Edition 开发环境搭建指南

2025-07-06 01:00:43作者:翟萌耘Ralph

前言

Overleaf Community Edition 是一个开源的在线 LaTeX 协作编辑平台,本文将详细介绍如何在本地搭建开发环境,帮助开发者快速开始项目开发工作。

环境准备

在开始之前,请确保你的系统已经安装了以下软件:

  • Docker 及 Docker Compose
  • Node.js(建议使用 LTS 版本)
  • Git

基础环境搭建

1. 构建服务容器

进入项目目录下的 develop 文件夹,执行以下命令构建所有服务:

bin/build

注意:如果 Docker 在并行构建服务时内存不足,可以在当前目录创建 .env 文件,并添加 COMPOSE_PARALLEL_LIMIT=1 来限制并行构建数量。

2. 初始化数据库

构建完成后,需要初始化数据库:

bin/init

3. 启动服务

使用以下命令启动所有服务:

bin/up

服务启动后,访问 http://localhost/launchpad 创建第一个管理员账户。

TeX Live 配置

为了支持 PDF 编译功能,需要构建 TeX Live 镜像:

docker build texlive -t texlive-full

macOS 用户注意:在 macOS 上编译时,可能需要覆盖 Docker socket 路径。在当前目录创建 .env 文件,添加 DOCKER_SOCKET_PATH=/var/run/docker.sock.raw

开发模式

为了提高开发效率,可以使用开发模式运行 Overleaf Community Edition,这样代码变更会自动触发服务重启。

1. 启动开发模式

使用以下命令启动所有服务的开发模式:

bin/dev

该命令会使用 nodemon 监控代码变更并自动重启服务。

2. 选择性启动服务

为了提高性能,可以选择只启动部分服务的开发模式:

bin/dev [service1] [service2] ... [serviceN]

前端开发注意:如果只启动 web 服务的开发模式,只会更新后端代码。要同时自动更新前端代码,还需要启动 webpack 服务的开发模式。

如果不指定任何服务名称,则所有服务都会以开发模式启动。

调试指南

在开发模式下,大多数服务都会暴露调试端口,可以使用 Chrome Dev Tools 或 IDE 集成的调试器进行调试。

各服务调试端口对照表

服务名称 端口号
web 9229
clsi 9230
chat 9231
contacts 9232
docstore 9233
document-updater 9234
filestore 9235
notifications 9236
real-time 9237
history-v1 9239
project-history 9240

Chrome 远程调试配置

  1. 打开 Chrome 浏览器,访问 chrome://inspect/
  2. 确保"Discover network targets"选项已勾选
  3. 点击"Configure..."按钮
  4. 为需要调试的服务添加 localhost:[服务端口] 条目
  5. 添加后,服务将显示为"Remote Target",可以进行检查和调试

常见问题解决

  1. 构建失败:检查 Docker 是否有足够内存,尝试设置 COMPOSE_PARALLEL_LIMIT=1
  2. 服务无法启动:检查端口是否被占用,特别是 MongoDB 默认端口 27017
  3. 前端修改不生效:确保同时启动了 webpack 服务的开发模式

结语

通过本文的指导,你应该已经成功搭建了 Overleaf Community Edition 的开发环境。开发模式下,系统会自动监控代码变更并重启服务,大大提高了开发效率。调试功能的配置也让问题定位变得更加方便。