在我的应用程序项目中,我使用的是0.13.1版的npm包graphql。以及版本1.1.9中的apollo-cache-inmemory。
运行npm install会给我警告
npm WARN apollo-cache-inmemory@1.1.9 requires a peer of graphql@0.11.7 || ^0.12.0 but none is installed. You must install peer dependencies yourself.所以我安装的graphql是新的,然后是阿波罗缓存内存所需要的版本。
这只是一个例子,我不明白如何处理这些个案。
当然,我可以忽略这个警告--因为一切都很好--但我想了解这个问题,最好我会消除这些警告。
发布于 2018-02-20 10:59:46
这里的问题是,您的graphql版本(0.13.1)不能满足阿波罗缓存内存(^0.12.0)设置的对等依赖要求。通常,apollo-cache-inmemory中的对等依赖声明指定了所需的依赖项,它不包括在包依赖项中,而是必须由包的用户提供。对等依赖项与兼容版本范围一起指定。
这里提出警告的原因是,“主要零”版本的处理方式与以1.0.0开头的“正常版本”不同。主要为零版本的插入符号说明符的行为与普通版本的倾斜说明符相同,即^0.12.0只匹配0.13.0以下的所有内容(请参见这里以获得良好的解释)。
不幸的是,消除警告的唯一方法是:(1)使用“兼容”的graphql版本(即0.12.X),(2)让apollo-cache-inmemory项目引用较新的版本(例如^0.13.0)或(3)让graphql从1.0.0开始将其版本更改为标准版本。
由于(2)和(3)不太可能发生,您可以这样做(1) :)
发布于 2018-02-20 11:06:49
这是由apollo-cache-in-memory@1.1.9在graphql@0.11.7 || ^0.12.0上指定一个peerDependency引起的。
# In a terminal session
λ npm show apollo-cache-inmemory@1.1.9 .peerDependencies.graphql
0.11.7 || ^0.12.00.13.1没有包含在版本范围0.11.7 || ^0.12.0中,您看到的警告是发出的。
尽管如此,graphql和apollo-cache-in-memory之间可能并不存在实际的互操作问题。对等依赖范围只告诉我们作者测试的graphql版本。
有两种方法可以消除此警告:
graphql peerDependency更新为如下所示,并更新到下一个版本
0.11.7 x_x=0.graphql降级到兼容的版本范围,例如graphql@0.12发布于 2019-02-24 14:46:51
我不太确定它是否正确和安全,但是将package.json中的node_modules中的每个“有问题的”依赖项的对等版本更改为当前的依赖项可以帮助您顺利地消除所有这些错误。例如,在以下npm警告中,我也遇到了同样的问题:
npm WARN react-dom@16.8.1 requires a peer of react@^16.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN react-ellipsis-text@1.1.0 requires a peer of react-dom@^15.4.1 but none is installed. You must install peer dependencies yourself.
npm WARN react-pose@4.0.7 requires a peer of react@^16.3.2 but none is installed. You must install peer dependencies yourself.
npm WARN react-redux@6.0.1 requires a peer of react@^16.4.0-0 but none is installed. You must install peer dependencies yourself.安装React的最新版本没有帮助。因此,我刚刚编辑了React dom、React省略、React just和required模块的package.json,并将所需的React版本更改为16.4.0:
"peerDependencies": {
"react": "^16.4.0",
"react-dom": "^16.8.1"
},所有的警告现在都消失了。希望能帮上忙。
https://stackoverflow.com/questions/48882141
复制相似问题