错误:找不到模块'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'的主要内容,如果未能解决你的问题,请参考以下文章