node.js - 在 overmind graphql 中导入 Phoenix npm 包失败
问题描述
npm install
我使用run重新安装了所有节点模块,但出现错误:
Cannot find module 'phoenix' from 'node_modules/@absinthe/socket/compat/cjs/index.js'
它首先在@absinthe 代码中失败:
require('phoenix');
在@absinthe/socket/compat/cjs/index.js
但是 overmind-graphql 也依赖于 phoenix 并且 IDE 显示了一个损坏的导入:在 overmind-graphql
import { Socket as PhoenixSocket } from 'phoenix';
的这一行中
我为此安装的相关软件包版本:
"overmind": "^28.0.1",
"overmind-graphql": "^8.0.1",
"overmind-react": "^29.0.1",
"phoenix": "^1.6.0",
"@absinthe/socket": "^0.2.1",
"graphql": "^15.5.1",
"graphql-react": "^15.0.0",
"graphql-tag": "^2.12.4",
"react": "^17.0.1"
我试过了:
- "phoenix" 和 "@absinthe/socket" 之前是依赖项,所以我手动安装了它们
- 删除所有 node_modules 并重新安装所有软件包
- 删除 package-lock.json、node_modules 并重新安装所有包
- 在我的 React 组件中删除 overmind 的导入:没有错误,因为它没有到达失败的 phoenix 导入
- 运行
next build
而next start
不是总是重新加载next dev
解决方案
修复是使用 overmind-graphql 依赖的特定版本的 phoenix 包:
"phoenix": "1.4.13"
似乎重新安装没有帮助,但让我更加困惑。
推荐阅读
- c - 通过在c中输入位置来查找字符串的字符
- c# - 将文本作为 guid 插入二进制 (16)
- html - 如何在 angular5/angularitics 中安装单独的 mixpanel 项目以进行开发和生产
- html - 输入类型文本为带斜线的格式化日期
- css - 媒体查询功能中从地图生成 SASS 动态颜色
- android - 如何在 google play 上检查另一个 android 应用程序的许可证有效性
- html - XSLT 如果条件抛出 - 缺少必需的属性“测试”
- python - 如何从python中的数组中删除分号?
- java - java scheduleWithFixedDelay 内存泄漏
- modal-dialog - Vue.js 2:模式对话框 - 方法成功时关闭