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 管道或没有 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 设置:替代依赖项配置
将这些文档通过 MCP 连接到 Claude、VSCode 等,以获取实时答案。

