langgraph dev:用于快速迭代的轻量级开发服务器。langgraph up:用于验证的生产级测试环境。
| 特性 | langgraph dev | langgraph up |
|---|---|---|
| 需要 Docker | 否 | 是 |
| 安装方式 | pip install langgraph-cli[inmem] | pip install langgraph-cli |
| 主要用例 | 快速开发与测试 | 生产级验证 |
| 状态持久化 | 内存中并序列化到本地目录 | PostgreSQL |
| 热重载 | 是(默认) | 可选(--watch 标志) |
| 默认端口 | 2024 | 8123 |
| 资源占用 | 轻量级 | 较重(为服务器、PostgreSQL 和 Redis 构建并运行独立的 Docker 容器) |
| IDE 调试 | 内置 DAP 支持 | 常规容器调试 |
| 自定义认证 | 是 | 是(需要许可证密钥) |
开发流程
以下是构建应用时的典型工作流:| 阶段 | 工具 | 目的 |
|---|---|---|
| 本地开发与测试 | langgraph dev | 编写并迭代你的图,支持热重载 |
| 验证 | langgraph up | 使用完整技术栈测试生产级行为 |
| 部署 | langgraph deploy | 自信地部署到生产环境 |
推荐工作流
- 日常开发:使用
langgraph dev进行快速迭代。 - 定期验证:使用
langgraph up测试重大变更。 - 部署前检查:运行
langgraph up --recreate进行全新构建。 - 部署:通过 LangSmith UI 或 控制平面 API 推送到生产环境。
langgraph dev
langgraph dev 命令在你的环境中直接运行一个轻量级服务器,专为活跃开发期间的速度和便利性而设计。主要特性包括:
- 无需 Docker:直接在您的环境中运行。
- 热重载:代码更改时自动重新加载。
- 快速启动:几秒内准备就绪。
- 内置 调试适配器协议 支持:将 IDE 调试器附加到服务器,进行行级断点和调试。
- 本地存储:状态持久化到本地目录。
dev 服务器使用与生产环境相同的集成测试套件进行测试,以确保其在开发期间的行为一致,同时占用最少的资源。开始使用 langgraph dev
开始使用 langgraph dev
开始之前,请确保您拥有:
创建 LangGraph 应用
从
new-langgraph-project-python 模板 或 new-langgraph-project-js 模板 创建一个新应用。此模板演示了一个单节点应用,您可以用自己的逻辑进行扩展。- Python 服务器
- Node 服务器
使用场景
将langgraph dev 作为主要开发工具,用于:
- 日常功能开发:更改代码后服务器自动重新加载。无需重建容器即可立即测试——非常适合快速迭代周期。
- 快速原型设计和实验:几秒钟内启动服务器测试想法,无需 Docker 设置开销。
-
没有 Docker 的环境:在 CI/CD 流水线或轻量级 VM 中,Docker 不可用时:
-
调试器附加:使用
--debug-port附加 IDE 调试器,在开发期间进行逐步调试。
langgraph up
langgraph up 命令编排一个完整的基于 Docker 的技术栈,该技术栈镜像了生产基础设施,有助于在生产前发现部署问题。主要特性包括:
- 验证构建和依赖项:测试您的构建过程和依赖项。
- 隔离的网络:真实的容器网络。
- 生产验证:验证部署就绪状态。
开始使用 langgraph up
开始使用 langgraph up
http://localhost:8123 启动,并具有完整的持久化存储。使用场景
使用langgraph up 进行验证和生产就绪测试:
-
部署前验证:在部署到生产环境之前,可以使用全新构建进行最终检查,以确保所有依赖项都正确指定。
这可以捕获与容器中依赖项解析相关的任何问题以及其他构建过程问题。
- 主要功能验证:在实现重大更改后,定期使用完整生产技术栈进行测试,以确保一切在容器化环境中正常工作。
- Docker 故障排除:在调试容器特定问题、网络问题或仅在生产环境中出现的环境变量配置时使用。
部署前检查清单
在部署应用之前,使用langgraph up 验证以下事项:
依赖项配置
langgraph dev 和 langgraph up 都从应用的配置文件中读取依赖项,但它们在以下不同环境中运行:
langgraph dev直接在您的本地环境(Python 或 Node.js)中运行您的代码,无需 Docker。langgraph up构建一个 Docker 容器,并在该隔离容器内运行您的代码。
langgraph.json 文件
dependencies 字段告诉 CLI 在哪里找到您的应用代码。dependencies 字段可以指向:
- 包含包配置的目录(包含
pyproject.toml、setup.py、requirements.txt或package.json) - 特定子目录:
"dependencies": ["./my_agent"] - 特定包:
"dependencies": ["my-package==1.0.0"](Python)或"dependencies": ["my-package@1.0.0"](JavaScript)
- Python
- JavaScript
包依赖文件
这些文件定义了您的应用需要哪些包:- Python
- JavaScript
pyproject.toml 示例:requirements.txt 示例:
依赖项解析过程
当您运行langgraph up 时,CLI 会按照以下步骤安装应用的依赖项:
langgraph.json告诉 CLI 在哪里查找应用代码。dependencies: ["."]字段指向当前目录。- 查找包配置:CLI 在该目录中查找包配置文件(
pyproject.toml、requirements.txt或package.json)。 - 读取依赖项列表:CLI 从配置文件中读取包列表。
- 安装包:CLI 使用适合您语言的包管理器(Python 用
uv或pip,JavaScript 用npm)安装所有包。
langgraph.json 处理应用结构和位置,而包配置文件处理语言特定的包依赖项。
有关安装程序的更多信息,请参阅 CLI 配置文件。
故障排除
如果遇到依赖项安装问题,请尝试切换到pip:
调试本地 Docker 设置
即使langgraph up 在您的本地机器上失败,生产部署也可能成功。这是因为生产环境使用托管基础设施,而 langgraph up 在您的计算机上本地运行完整技术栈。
以下是常见的本地环境问题,这些问题不会影响生产环境。
Docker 配置问题
langgraph up 需要本地 Docker:
langgraph dev 进行本地测试。
端口冲突
langgraph up 使用端口 8123、5432 和 6379,这些端口可能已被占用:
--port 标志。
资源限制
langgraph up 需要更多 RAM 和磁盘空间用于:
- PostgreSQL 容器
- Redis 容器
- API 服务器容器
langgraph dev。
网络配置
VPN 连接、防火墙规则或公司代理设置可能会影响本地 Docker 网络。 解决方案:使用langgraph dev 进行测试,或临时禁用 VPN/防火墙以隔离问题。
后续步骤
现在您已经在本地运行了一个 LangGraph 应用,可以准备部署它了: 为 LangSmith 选择托管选项: 更多详情,请参阅 平台设置比较。 然后部署您的应用: 探索功能:- Studio:使用 Studio UI 可视化、交互和调试您的应用。尝试 Studio 快速入门。
- API 参考:LangSmith 部署 API、Python SDK、JS/TS SDK
相关资源
- CLI 参考:所有 CLI 命令的详细文档
- 应用结构:如何构建您的 LangGraph 应用
- 故障排除:常见问题及解决方案
- 使用 pyproject.toml 设置:配置 Python 依赖项
- 使用 requirements.txt 设置:替代依赖项配置
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

