首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我是否需要在我的package.json中添加旧的依赖项?

我是否需要在我的package.json中添加旧的依赖项?
EN

Stack Overflow用户
提问于 2018-02-20 09:44:21
回答 3查看 977关注 0票数 1

在我的应用程序项目中,我使用的是0.13.1版的npm包graphql。以及版本1.1.9中的apollo-cache-inmemory

运行npm install会给我警告

代码语言:javascript
复制
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是新的,然后是阿波罗缓存内存所需要的版本。

这只是一个例子,我不明白如何处理这些个案。

当然,我可以忽略这个警告--因为一切都很好--但我想了解这个问题,最好我会消除这些警告。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 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) :)

票数 2
EN

Stack Overflow用户

发布于 2018-02-20 11:06:49

这是由apollo-cache-in-memory@1.1.9graphql@0.11.7 || ^0.12.0上指定一个peerDependency引起的。

代码语言:javascript
复制
# In a terminal session
λ npm show apollo-cache-inmemory@1.1.9 .peerDependencies.graphql
0.11.7 || ^0.12.0

0.13.1没有包含在版本范围0.11.7 || ^0.12.0中,您看到的警告是发出的。

尽管如此,graphqlapollo-cache-in-memory之间可能并不存在实际的互操作问题。对等依赖范围只告诉我们作者测试的graphql版本。

有两种方法可以消除此警告:

  1. 阿波罗上打开一个PR,将他们的graphql peerDependency更新为如下所示,并更新到下一个版本 0.11.7 x_x=0.
  2. graphql降级到兼容的版本范围,例如graphql@0.12
票数 1
EN

Stack Overflow用户

发布于 2019-02-24 14:46:51

我不太确定它是否正确和安全,但是将package.json中的node_modules中的每个“有问题的”依赖项的对等版本更改为当前的依赖项可以帮助您顺利地消除所有这些错误。例如,在以下npm警告中,我也遇到了同样的问题:

代码语言:javascript
复制
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:

代码语言:javascript
复制
"peerDependencies": {
  "react": "^16.4.0",
  "react-dom": "^16.8.1"
},

所有的警告现在都消失了。希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48882141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档