freeCodeCamp 部署教程
freeCodeCamp 不是传统意义上“装完就能对外提供学习平台”的 SaaS,本地部署更适合:贡献代码、二次开发课程、做私有化学习站点或教学演示。 推荐先用本地开发环境跑通,再考虑 Docker 化。
一、部署前准备
系统:macOS / Linux;Windows 必须用 WSL2 + Ubuntu。
硬件:建议至少 6 核 CPU、12GB 内存、20GB 磁盘。
软件:
- Node.js 24
- pnpm
- Git
- Docker Desktop / Docker Engine(用于跑 MongoDB)
端口:默认会占用 8080,确保未被其他服务占用。
二、本地开发部署
# 1. 克隆仓库
git clone https://github.com/freeCodeCamp/freeCodeCamp.git
cd freeCodeCamp
# 2. 确认 Node 版本
node -v # 应为 v24.x
pnpm -v
# 3. 安装依赖
pnpm install
# 4. 复制环境变量文件
cp sample.env .env
# 5. 启动本地 MongoDB
docker pull mongo:8.2
docker run -d -p 27017:27017 --name fcc-mongo mongo:8.2
# 6. 初始化课程数据
pnpm run seed
# 7. 启动开发服务
pnpm run develop启动完成后,浏览器访问:
http://localhost:8080如果页面打不开,先确认 MongoDB 是否在运行,.env 是否已创建,以及 8080 端口是否被占用。
三、Docker / Docker Compose 部署
仓库内有 Docker 相关配置,可以用容器方式一键启动整套服务,避免单独安装 Node、pnpm 和 MongoDB。
git clone https://github.com/freeCodeCamp/freeCodeCamp.git
cd freeCodeCamp/docker
# 复制环境变量
cp ../sample.env .env
# 启动服务
docker compose up -d不同版本的 compose 文件位置可能变化,建议以仓库当前 docker/ 目录和官方贡献文档为准。
四、生产环境打包
如果只是部署静态前端,可以执行:
pnpm install
pnpm run build但完整的生产部署还需要部署 API 服务、MongoDB、课程数据、邮件/认证配置,不建议直接拿开发环境对外提供服务。
五、常见问题
| 问题 | 处理方式 |
|---|---|
| Node 版本不对 | 用 nvm 切换到 Node 24,参考 .nvmrc |
| pnpm install 失败 | 清理网络代理、检查 Node/pnpm 版本 |
| MongoDB 连接失败 | 确认 docker ps 中有 mongo 容器,端口 27017 未被占用 |
| 页面空白或报错 | 先跑 pnpm run seed,再重新启动 |
| Windows 跑不起来 | 改用 WSL2,不要在 CMD / PowerShell 里直接跑 |