可以使用 pnpm 仅使用一个软件包版本吗?

我需要使用 apollo-servergraphql-upload 来处理文件上传。这在旧的 graphql-upload v9 上按预期工作。更新到最新的 v11 会导致上传失败。简而言之,问题是apollo-server(和@nestjs/graphql)依赖于旧的graphql-upload v8。 (For those,who are interested in more) 为了让一切正常,我的项目中应该只有一个版本 (v11)。

我正在使用 pnpm。列出哪些软件包正在使用 graphql-upload 我得到以下信息:

@nestjs/graphql 7.9.1
├─┬ @apollo/gateway 0.17.0
│ └─┬ apollo-server-core 2.19.0
│   └── graphql-upload 8.1.0      // <--
├─┬ apollo-server-core 2.16.1
│ └── graphql-upload 8.1.0        // <--
└─┬ apollo-server-testing 2.19.0
  └─┬ apollo-server-core 2.19.0
    └── graphql-upload 8.1.0      // <--
apollo-server 2.19.0
├─┬ apollo-server-core 2.19.0
│ └── graphql-upload 8.1.0        // <--
└─┬ apollo-server-express 2.19.0
  └─┬ apollo-server-core 2.19.0
    └── graphql-upload 8.1.0      // <--
graphql-upload 9.0.0              // <-- only working if <v10
pandora1020 回答:可以使用 pnpm 仅使用一个软件包版本吗?

您可以使用 pnpm overrides。在您的情况下,您可以将其添加到您的 package.json:

{
  "pnpm": {
    "overrides": {
      "graphql-upload": "11"
    }
  }
}

添加或更改这些覆盖后,只需运行 pnpm install,pnpm 将相应地更新您的 node_modules。

本文链接:https://www.f2er.com/1144697.html

大家都在问