错误:找不到模块'graphql/validation/rules/PossibleTypeExtensions'

Posted

技术标签:

【中文标题】错误:找不到模块\'graphql/validation/rules/PossibleTypeExtensions\'【英文标题】:Error: Cannot find module 'graphql/validation/rules/PossibleTypeExtensions'错误:找不到模块'graphql/validation/rules/PossibleTypeExtensions' 【发布时间】:2020-09-10 16:21:20 【问题描述】:

我正在使用以下书籍来构建 MERN 堆栈 CRUD 应用程序。我在安装和运行 graphql 时遇到问题。

https://www.amazon.com/Pro-MERN-Stack-Development-Express-dp-1484243900/dp/1484243900/ref=mt_paperback?_encoding=UTF8&me=&qid=(2019 年发布)。

当我尝试使用命令 npm start 启动此 repo https://github.com/vasansr/pro-mern-stack-2/tree/05.02-graphql-schema-file 中包含的服务器时,应用程序崩溃并返回一个

错误:找不到模块“graphql/validation/rules/PossibleTypeExtensions”

然后,我在此问题的上一个实例中遵循了一些建议,以 npm install karma-sinon-chai 获取依赖项。但后来我收到以下错误:

npm WARN apollo-graphql@0.4.4 需要 graphql@^14.2.1 的对等点,但没有安装。您必须自己安装对等依赖项。

【问题讨论】:

【参考方案1】:

根据错误消息,apollo-graphql 需要来自 graphql 库验证/规则/PossibleTypeExtentions 的模块。通过查看我的 package.json 发现,我使用的 graphql 版本是“graphql”:“^0.13.2”。

我首先尝试通过将 package.json 更改为“^14.3.1”来更改此设置。但是在尝试安装和运行 graphql 后,我收到了相同的错误消息,当我查看我的 package.json 时,它已恢复为“^0.13.2”。

这可能是由我的 package.lock 引起的,将我锁定在该版本中。然后我删除了 package.lock 和 node_modules 文件夹。

然后我运行了命令 nom install --save graphql@14.3.1,效果很好。

然后我只需要重新安装 babel 和 Apollo-server-express,之后一切正常。

【讨论】:

【参考方案2】:

对我来说,只需运行 npm install -g graphql 即可解决问题(我已经使用 npm install -g apollo 全局安装了 Apollo)。

【讨论】:

以上是关于错误:找不到模块'graphql/validation/rules/PossibleTypeExtensions'的主要内容,如果未能解决你的问题,请参考以下文章

错误找不到模块'@angular/material

Phonegap 错误 + 错误:找不到模块 'q'

解析错误:找不到模块'next/babel'

找不到模块:错误:无法解析模块“fs”

TypeOrm 迁移 - 错误:找不到模块

删除了节点模块,现在出现“错误:找不到模块 'webpack/lib/RuleSet'”错误