如何解决npm"UNMET PEER DEPENDENCY"

Jak*_*ves 7 node.js npm angular

我的package.json文件有问题.

它应该工作正常,因为我在其他项目中使用大多数节点模块,但我有package.json以下内容:

"dependencies": {
   "@angular/common": "^2.0.0-rc.1",
   "@angular/compiler": "^2.0.0-rc.1",
   "@angular/core": "^2.0.0-rc.1",
   "@angular/platform-browser": "^2.0.0-rc.1",
   "@angular/platform-browser-dynamic": "^2.0.0-rc.1",
   "@angular/router": "^2.0.0-rc.1",
   "angular2-in-memory-web-api": "0.0.7",
   "bootstrap": "^3.3.6",
   "es6-shim": "^0.35.0",
   "reflect-metadata": "^0.1.3",
   "rxjs": "^5.0.0-beta.6",
   "systemjs": "^0.19.27",
   "zone.js": "^0.6.12"
 },
  "devDependencies": {
    "body-parser": "^1.15.1",
    "express": "^4.13.4",
    "jsonwebtoken": "^6.2.0",
    "mongoose": "^4.4.15"
  }
Run Code Online (Sandbox Code Playgroud)

并且它们都应该运行良好,因为所有依赖关系都存在,因为角度现在在rc.4中,而rxjs在5.0.0-beta.10上.

但我得到3个未满足的依赖

npm install
'rxjs@5.0.0-beta.10'
'rxjs@5.0.0-beta.6'
'@angular/core@2.0.0-rc.1'  
Run Code Online (Sandbox Code Playgroud)


我也得到了这些警告:

npm WARN @angular/core@2.0.0-rc.4 requires a peer of rxjs@5.0.0-beta.6 but none was installed.
npm WARN @angular/http@2.0.0-rc.1 requires a peer of rxjs@5.0.0-beta.6 but none was installed.
npm WARN @angular/http@2.0.0-rc.1 requires a peer of @angular/core@2.0.0-rc.1 but none was installed.  
Run Code Online (Sandbox Code Playgroud)


我也做过:

npm cache clean
npm update registry > with the registry link
npm update -g
Run Code Online (Sandbox Code Playgroud)


节点是最新版本,仍然是相同的问题...所以只是想知道是否有什么问题?

小智 3

我认为这是因为依赖项解析有点损坏,请参阅https://github.com/isaacs/npm/issues/1341#issuecomment-20634338

您可能需要手动安装具有未满足的依赖关系的顶级模块:

npm install findup-sync@0.1.2

或者构造你的 package.json ,使得任何也是其他模块依赖项的顶级模块都列在下面。

您的问题也可能是 npm 无法下载软件包、超时或其他原因。有时重新运行npm install可以解决这个问题。

您还可以使用手动安装失败的软件包npm install

在再次尝试 npm install 之前可能有帮助的其他步骤包括:

使用以下命令删除node_modules:

rm -rf node_modules/

然后

npm cache clean

解释为什么有时需要删除node_modules:

显然,如果嵌套模块在 npm install 期间安装失败,后续 npm install 将不会检测到那些丢失的嵌套依赖项。如果是这种情况,有时删除那些丢失的嵌套模块的顶级依赖项并再次运行 npm install 就足够了。

请参阅https://github.com/npm/npm/issues/1336