跳到内容

如何安装和管理依赖

LangGraph.js 是 LangChain 生态系统的一部分,该生态系统包括主要的 langchain 包以及包含与各个第三方提供商集成的包。这些包可以非常具体,例如 @langchain/anthropic,它只包含 Anthropic 聊天模型的集成,也可以很广泛,例如 @langchain/community,它包含更广泛的社区贡献的集成。

这些包以及 LangGraph.js 本身都依赖于 @langchain/core,后者包含这些包扩展的基础抽象。

为了确保所有集成及其类型能够正确地相互作用,重要的是它们都使用相同版本的 @langchain/core。安装 LangGraph 时,您也应该同时安装 @langchain/core

$ npm install @langchain/langgraph @langchain/core

@langchain/core 必须单独安装,因为它是 @langchain/langgraph 的对等依赖。这有助于包管理器解析 @langchain/core 的单个版本。

尽管如此,在某些情况下,您的包管理器可能会解析多个版本的 core,这可能导致意外的 TypeScript 错误或其他奇怪的行为。如果您需要确保只拥有一个版本的 @langchain/core,可以在项目的 package.json 中添加一个 "resolutions""overrides" 字段。具体的字段名称取决于您的包管理器。以下是一些示例:

提示

yarnpnpmresolutionspnpm.overrides 字段必须设置在根目录的 package.json 文件中。另请注意,我们在 resolutions 中指定精确版本。

如果您使用 yarn,应设置 "resolutions"

{
  "name": "your-project",
  "version": "0.0.0",
  "private": true,
  "engines": {
    "node": ">=18"
  },
  "dependencies": {
    "@langchain/anthropic": "^0.2.15",
    "@langchain/langgraph": "^0.2.0"
  },
  "resolutions": {
    "@langchain/core": "0.2.31"
  }
}

对于 npm,使用 "overrides"

{
  "name": "your-project",
  "version": "0.0.0",
  "private": true,
  "engines": {
    "node": ">=18"
  },
  "dependencies": {
    "@langchain/anthropic": "^0.2.15",
    "@langchain/langgraph": "^0.2.0"
  },
  "overrides": {
    "@langchain/core": "0.2.31"
  }
}

对于 pnpm,使用嵌套的 "pnpm.overrides" 字段

{
  "name": "your-project",
  "version": "0.0.0",
  "private": true,
  "engines": {
    "node": ">=18"
  },
  "dependencies": {
    "@langchain/anthropic": "^0.2.15",
    "@langchain/langgraph": "^0.2.0"
  },
  "pnpm": {
    "overrides": {
      "@langchain/core": "0.2.31"
    }
  }
}

下一步

您现在已经了解了在使用 LangGraph.js 与其他 LangChain 生态系统包时的一些特殊注意事项。

接下来,请查看 关于核心功能的一些操作指南