无法使用重复的“graphql”模块

2024-03-31

我发现graphql-js https://github.com/graphql/graphql-js库不允许依赖项也使用 graphql。

你会得到以下错误

Duplicate "graphql" modules cannot be used at the same time since different versions may have different capabilities and behavior. The data from one version used in the function from another could produce confusing and spurious results.

从下面的代码

const express = require('express');
const graphqlHTTP = require('express-graphql');
const { GraphQLSchema } = require('graphql'); 
// the module graphql-test-mod-obj-type' has 
// graphql as a depenedency
const myType = require('graphql-test-mod-obj-type');

const app = express();

const schema = new GraphQLSchema({ query: myType })

app.use('/graphql', graphqlHTTP({
  schema,
  graphiql: true
}));

app.listen(4000);

我创建了一个小型存储库和一个小型公共 npm 包来演示这一点带有 npm-依赖于 graphql 的仓库 https://github.com/ghinks/graphql-test-consume-graphql-obj-type.git .

通过不将 graphql 模块作为模块中的依赖项,可以很容易地解决这个问题。但这肯定是一个问题吗?或者这是众所周知的事情?


我遇到了这个错误并使用以下步骤解决了它:

  1. 列出 graphql 包的所有可用实例以检查依赖性

    npm ls graphql

  2. 删除node_modules目录

    rm -rf 节点模块

  3. 删除 package-lock.json 文件

  4. 将“决议”对象添加到 package.json

    “决议”:{ “graphql”:“15.5.0”, “**/graphql”:“15.5.0” }

  5. 添加预安装脚本以对 package.json 文件中的脚本对象强制执行解析选项

    “预安装”:“npx npm-force-分辨率”

  6. 再次安装包

    npm 安装

** 笔记*** 就我而言,我还必须将节点版本从 v18.0 更改为 v17.0,因为我正在使用其他一些 apollo/federation 包,因此可能还要查看节点依赖项

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用重复的“graphql”模块 的相关文章

随机推荐

  • 在 iframe 加载之前运行脚本

    我正在使用嵌入在应用程序中的帮助系统 帮助的重要部分尝试具有相同的 document domain 值 但子 iframe 似乎在父 iframe 之前运行其 document domain 设置 这是一个问题 因为它会引发安全错误并停止
  • 无法注册 PS 图库

    我读了很多论坛并尝试了很多东西 但我就是无法添加PS图库 我使用公司代理 但我已设置我的个人资料以使用它 我正在尝试使用这些命令注册 PS 存储库 Net ServicePointManager SecurityProtocol Net S
  • bash 如何处理嵌套引号? [复制]

    这个问题在这里已经有答案了 我需要使用如下语法运行命令 runuser l userNameHere c path to command arg1 arg2 不幸的是 我必须嵌套额外的 字符到命令本身中 我无法告诉 bash 正确解释这些字
  • Web:我什么时候应该考虑使用 Java 而不是 PHP、Python/Django、Ruby/Rails 等?

    如果收集中型到大型基于 Web 的项目的需求 在什么时候应该考虑使用基于 Java 的后端 JSP 等 而不是 PHP Python 或 Ruby 等脚本语言 听到 使用正确的工具 Java 什么时候是基于 Web 的项目的正确工具 什么是
  • 性能:条件测试与分配

    我创建了一个循环 其中使用变量来测试循环的当前运行是否是第一个循环 它相当简单 firstrun true while condition if firstrun Do this else Do that Change firstrun t
  • 未安装模拟器 - Android Studio

    我的 android studio 工作正常 有点慢 但工作正常 但是当我几天前启动它并尝试运行时 它开始向我显示错误 未安装模拟器 请帮我 找不到任何合适的解决方案 不用担心 只需打开 SDK Manager 在 Android Stud
  • Runtime.getRuntime().availableProcessors() 在容器优化操作系统上始终返回 1

    我正在 GCP 上的 kubernetes 引擎上部署 Elasticsearch 但遇到了性能问题 Elasticsearch根据核心数量确定各种线程池的大小 尽管我创建了一个 32 核 VM 但线程池大小仅为 1 我确实编写了一个测试程
  • 如何对 IP 地址列表进行排序并计算每个地址的类别和网络掩码? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有两个选择 一是我有一个包含 IP 列表的数组 例如 my Ip array that has the IPs below in it
  • AWS Glue 中 s3fs 库导入失败

    AWSglue不导入s3fs模块 import s3fs 我希望导入该库 但 AWSglue 说 导入错误 没有名为 s3fs 的模块 AWS Glue 作业预装了一些常用库 但除此之外 您还需要下载 whl对于 pypi 的库 在这种情况
  • Woocommerce 更改购买时的用户角色

    我正在尝试使用这段代码将我的用户从默认角色 订阅者 更新为从我的商店购买产品时的 高级 角色 add action woocommerce order status completed change role on purchase fun
  • 如何使用 GPU 使用 tf.lite.Interpreter(在 python 中)运行 tflite 模型 (*.tflite)?

    我已根据以下说明将张量流推理图转换为 tflite 模型文件 tflite https www tensorflow org lite convert https www tensorflow org lite convert 我在我的 G
  • Javascript - 字符串连接[重复]

    这个问题在这里已经有答案了 我有这个功能 javascript function popup mylink windowname w h if window focus return true var href if typeof myli
  • 如何记住终端中多个选项卡的会话? (类似于 FF 会话管理器)

    一个人如何 撤消关闭选项卡 在终端中 与它非常相关的是 是否有可能记住终端中的选项卡会话 我的意思是 与 Firefox 类似 如果我关闭特定终端窗口中的所有选项卡 第二天如何打开相同的选项卡 对于像我这样经常使用多个选项卡的人来说 记住终
  • 致命异常主要 Android 应用程序

    我目前正在开发 Android 应用程序 当我单击菜单时 菜单会显示 但如果您选择 首选项 它就会崩溃 如果您单击 新建 则效果很好 我不知道发生了什么事 我是 Android 应用程序开发和 eclipse IDE 的新手 所以任何东西都
  • 如何编写 Linux .dts 设备树文件?

    我要在我的开发板上启动Linux 我需要一个dts文件 设备树文件 来描述整个硬件 但我对这个文件的语法知之甚少 不足以在板上正确运行Linux 我现在所知道的只是如何描述一个单元的中断号 频率 地址 父单元及其兼容的驱动程序类型 如下所述
  • 如何在rails 2.3.3中有条件地分配ActionController::Base.session

    我有一个 Rails 应用程序 在 config initializers session store rb 文件中包含以下内容 ActionController Base session key gt app session secret
  • WPF:将标签绑定到类属性

    我试图将标签的内容绑定到类实例的字符串属性 但没有取得太大成功 XAML
  • AVFrame 到 QImage 的高效转换

    我需要在基于 Qt 的应用程序中从视频中提取帧 使用 ffmpeg 库 我可以将帧作为 AVFrame 获取 我需要将其转换为 QImage 以在应用程序的其他部分中使用 这种转换必须是高效的 到目前为止看来sws scale 是正确使用的
  • 如何通过HTTPPost发送图片?

    我正在创建一个活动 需要使用他们的 API 将图像上传到网络服务 我发现如果我使用 UrlEncodedFormEntity 并通过它发送图像数据 网络服务没有收到该信息 至少它无法读取该内容 事实上 如果我添加一些变量与图像数据一起发送
  • 无法使用重复的“graphql”模块

    我发现graphql js https github com graphql graphql js库不允许依赖项也使用 graphql 你会得到以下错误 Duplicate graphql modules cannot be used at