当前位置: 首页 > 知识库问答 >
问题:

npm对等依赖意外失败

廉志强
2023-03-14

我试图找出一个对等依赖性问题,对我来说一切都很好......

My package.json 有:

, "devDependencies" : {
    "gulp-watchify" : "^0.2.0"
    ,    "watchify" : "^0.10.2"
}

gulp-watchify/package.json 有:

"peerDependencies": {
    "watchify": "^0.6.1"
},

0.10.2 staisfies ^0.6.1, 不是吗?那么为什么npm抱怨:

npm ERR! peerinvalid The package watchify does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer gulp-watchify@0.2.0 wants watchify@^0.6.1

npm ERR! System Darwin 14.0.0
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! cwd <path redacted>
npm ERR! node -v v0.11.12
npm ERR! npm -v 1.4.3
npm ERR! code EPEERINVALID
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     <path redacted>/npm-debug.log
npm ERR! not ok code 0

???

共有2个答案

别锐
2023-03-14

我记得这是一个版本不兼容的问题。下面是一个具有类似依赖性问题的堆栈,其答案应该有助于找出您的依赖性在哪里中断。当然,这是对grunt依赖的:

咕噜-依赖

况明贤
2023-03-14

这里的原因是< code>0.10.2实际上不能满足^0.6.1,因为< code>0。X.X版本是一种特殊的不稳定版本。从< code>0.1.X迁移到< code>0.2.X表示重大更改,因此它们不兼容。从semver文档中:

^0.1.3 :=

要解决这个问题,您可以删除对< code>watchify的依赖,或者将其设置为< code>0.6.X发行版中的内容,例如:

, "devDependencies" : {
    "gulp-watchify" : "^0.2.0"
    ,    "watchify" : "^0.6.4"
}
 类似资料:
  • 问题内容: 我使用npm install命令反复收到npm对等依赖项错误。这是我的package.json,我对React和Webpack的对等依赖未得到满足 问题答案: 好吧,首先,这些不是错误,它们是警告。它们实际上并不会阻止您的代码运行,只是在您的依赖项有问题的情况下提醒您。 实际上,软件包是一种指定方式,“使用我,您还应该安装 y 软件包的 x 版本”。就您而言,有两个问题: __ 该版本

  • npm是否有安装依赖作为对等依赖的选项,如yarn选项,而不是手动添加它例如: 感谢@Broncha,更新问题的更多说明 问题是如何向项目添加对等依赖。那就是 将依赖项添加到package.json中的“dependencies”中, 如何安装将其添加到package.json?中的“对等依赖”的依赖项

  • 输出以下警告: 输出 为什么npm抱怨缺少对等依赖? 这个问题与npm package.json文件中的依赖项、devdependency和peerdependency之间的区别不是重复的?。这个问题甚至没有提到,也没有解释在全局包中不搜索。

  • 问题内容: 例如,当我安装Angular2时: 是否可以传递给npm的魔术标志也将安装对等项依赖关系?我找不到一个……手动复制并粘贴对等项依赖关系并确保我具有正确的版本很繁琐。 换句话说,我宁愿不必这样做: 有什么更好的方法? 问题答案: npm 3明确删除了对等依赖项的自动安装,因为它引起的问题比它尝试解决的更多。例如,您可以在此处阅读有关信息: https://blog.npmjs.org/p

  • 在阅读了很多关于这个问题的文章之后,并遵循了这个非常有用的帖子:在npmpackage.json文件中,依赖关系、devDependence和peerDependence之间有什么区别? 我知道依赖项应该引用每个运行时libs,devdependency引用每个对开发依赖项有用的libs。 但是我现在很困惑。对于生产使用,我将不得不我的Angular应用程序。如果我做了,我甚至不能用编译。我需要,

  • 在默认状态下,Maven 在 build 的时候不会包含所依赖的 jar 包。当运行一个 Spark 任务,如果 Spark worker 机器上没有包含所依赖的 jar 包会发生类无法找到的错误(ClassNotFoundException)。 有一个简单的方式,在 Maven 打包的时候创建 shaded 或 uber 任务可以让那些依赖的 jar 包很好地打包进去。 使用 <scope>pr