【问题标题】:npm WARN ... requires a peer of ... but none is installed. You must install peer dependencies yourselfnpm WARN ...需要...的对等方,但没有安装。您必须自己安装对等依赖项
【发布时间】:2018-02-13 15:46:59
【问题描述】:

我尝试运行从github 下载的项目。不幸的是,在npm install 期间显示了以下警告。我试图根据这个question 更改版本。但是,我遇到了一个问题,因为某些包需要多个版本的其他包。考虑这两行:

npm WARN @angular/cdk@2.0.0-beta.10 requires a peer of @angular/core@^4.3.0 but none is installed. You must install peer dependencies yourself.

npm WARN @angular/forms@4.3.6 requires a peer of @angular/core@4.3.6 but none is installed. You must install peer dependencies yourself.

因此,安装一些包会导致依赖项列表大幅增长。

有人有解决办法吗?

npm WARN @angular/animations@4.3.6 requires a peer of @angular/core@4.3.6 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/cdk@2.0.0-beta.10 requires a peer of @angular/core@^4.3.0 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/cdk@2.0.0-beta.10 requires a peer of @angular/common@^4.3.0 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/compiler@4.3.6 requires a peer of @angular/core@4.3.6 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/compiler-cli@4.3.6 requires a peer of @angular/core@4.3.6 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/forms@4.3.6 requires a peer of @angular/core@4.3.6 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/forms@4.3.6 requires a peer of @angular/common@4.3.6 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/forms@4.3.6 requires a peer of @angular/platform-browser@4.3.6 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/http@4.3.6 requires a peer of @angular/core@4.3.6 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/http@4.3.6 requires a peer of @angular/platform-browser@4.3.6 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/material@2.0.0-beta.10 requires a peer of @angular/core@^4.3.0 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/material@2.0.0-beta.10 requires a peer of @angular/common@^4.3.0 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/platform-browser-dynamic@2.4.10 requires a peer of @angular/compiler@2.4.10 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/platform-server@4.3.6 requires a peer of @angular/core@4.3.6 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/platform-server@4.3.6 requires a peer of @angular/common@4.3.6 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/platform-server@4.3.6 requires a peer of @angular/platform-browser@4.3.6 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/router@4.3.6 requires a peer of @angular/core@4.3.6 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/router@4.3.6 requires a peer of @angular/common@4.3.6 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/router@4.3.6 requires a peer of @angular/platform-browser@4.3.6 but none is installed. You must install peer dependencies yourself.
npm WARN angularfire2@2.0.0-beta.7-pre requires a peer of @angular/compiler@^2.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN extract-text-webpack-plugin@3.0.0 requires a peer of webpack@^3.1.0 but none is installed. You must install peer dependencies yourself.

这里是package.json的内容:

{
  "name": "fireplace",
  "version": "0.0.0",
  "license": "MIT",
  "angular-cli": {},
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/name/fireplace.git"
  },
  "author": "name",
  "bugs": {
    "url": "https://github.com/name/fireplace/issues"
  },
  "homepage": "https://github.com/name/fireplace",
  "private": true,
  "dependencies": {
    "@angular/animations": "^4.0.0-rc.2",
    "@angular/common": "^4.0.0-rc.2",
    "@angular/compiler": "^4.0.0-rc.2",
    "@angular/compiler-cli": "^4.0.0-rc.2",
    "@angular/core": "^4.0.0-rc.2",
    "@angular/flex-layout": "^2.0.0-rc.1",
    "@angular/forms": "^4.0.0-rc.2",
    "@angular/http": "^4.0.0-rc.2",
    "@angular/material": "^2.0.0-beta.2",
    "@angular/platform-browser": "^4.0.0-rc.2",
    "@angular/platform-browser-dynamic": "^4.0.0-rc.2",
    "@angular/platform-server": "^4.0.0-rc.2",
    "@angular/router": "^4.0.0-rc.2",
    "@types/lodash": "^4.14.53",
    "angular2-google-maps": "^0.17.0",
    "angular2-moment": "^1.2.0",
    "angularfire2": "^2.0.0-beta.8",
    "core-js": "^2.4.1",
    "d3": "^4.7.1",
    "d3-cloud": "^1.2.4",
    "firebase": "^3.6.10",
    "hammerjs": "^2.0.8",
    "lodash": "^4.17.4",
    "rxjs": "^5.2.0",
    "ts-helpers": "^1.1.1",
    "zone.js": "^0.7.6"
  },
  "devDependencies": {
    "@angular/cli": "^1.0.0-rc.1",
    "@angular/compiler-cli": "^2.4.0",
    "@types/jasmine": "2.5.38",
    "@types/node": "~6.0.60",
    "codelyzer": "~2.0.0",
    "jasmine-core": "2.5.2",
    "karma": "~1.4.1",
    "karma-chrome-launcher": "~2.0.0",
    "karma-cli": "~1.0.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "karma-coverage-istanbul-reporter": "^0.2.1",
    "protractor": "~5.1.0",
    "ts-node": "~2.0.0",
    "tslint": "~4.4.2",
    "typescript": "^2.2.1",
    "webpack": "^2.2.1"
  }
}

ng serve返回(我只贴了开头和结尾):

ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/core/bidi/index.d.ts (8,99): Cannot find module '@angular/cdk/bidi'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/core/portal/portal.d.ts (8,85): Cannot find module '@angular/cdk/portal'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/core/portal/portal-directives.d.ts (8,76): Cannot find module '@angular/cdk/portal'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/core/portal/dom-portal-host.d.ts (8,31): Cannot find module '@angular/cdk/portal'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/core/ripple/ripple-renderer.d.ts (9,26): Cannot find module '@angular/cdk/platform'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/core/ripple/ripple-renderer.d.ts (10,31): Cannot find module '@angular/cdk/scrolling'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/core/ripple/ripple.d.ts (9,31): Cannot find module '@angular/cdk/scrolling'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/core/ripple/ripple.d.ts (10,26): Cannot find module '@angular/cdk/platform'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/core/platform/platform.d.ts (8,26): Cannot find module '@angular/cdk/platform'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/core/keyboard/keycodes.d.ts (8,146): Cannot find module '@angular/cdk/keycodes'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/core/core.d.ts (1,61): Cannot find module '@angular/cdk/coercion'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/core/core.d.ts (2,49): Cannot find module '@angular/cdk/observers'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/core/core.d.ts (3,32): Cannot find module '@angular/cdk/collections'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/core/core.d.ts (9,15): Cannot find module '@angular/cdk/platform'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/core/core.d.ts (10,15): Cannot find module '@angular/cdk/overlay'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/core/core.d.ts (14,252): Cannot find module '@angular/cdk/a11y'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/autocomplete/autocomplete.d.ts (10,44): Cannot find module '@angular/cdk/a11y'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/autocomplete/autocomplete-trigger.d.ts (10,32): Cannot find module '@angular/cdk/bidi'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/autocomplete/autocomplete-trigger.d.ts (11,67): Cannot find module '@angular/cdk/overlay'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/button/button.d.ts (9,26): Cannot find module '@angular/cdk/platform'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/core/a11y/focus-key-manager.d.ts (8,50): Cannot find module '@angular/cdk/a11y'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/chips/chip-list.d.ts (10,33): Cannot find module '@angular/cdk/a11y'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/chips/chip-list.d.ts (11,32): Cannot find module '@angular/cdk/bidi'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/dialog/dialog-config.d.ts (9,27): Cannot find module '@angular/cdk/bidi'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/dialog/dialog-container.d.ts (10,86): Cannot find module '@angular/cdk/portal'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/dialog/dialog-container.d.ts (11,34): Cannot find module '@angular/cdk/a11y'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/dialog/dialog-ref.d.ts (8,28): Cannot find module '@angular/cdk/overlay'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/dialog/dialog.d.ts (10,31): Cannot find module '@angular/cdk/portal'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/dialog/dialog.d.ts (11,62): Cannot find module '@angular/cdk/overlay'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/datepicker/datepicker.d.ts (9,67): Cannot find module '@angular/cdk/overlay'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/datepicker/datepicker.d.ts (10,32): Cannot find module '@angular/cdk/bidi'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/grid-list/grid-list.d.ts (10,32): Cannot find module '@angular/cdk/bidi'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/input/autosize.d.ts (10,26): Cannot find module '@angular/cdk/platform'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/input/input.d.ts (10,26): Cannot find module '@angular/cdk/platform'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/menu/menu-panel.d.ts (10,27): Cannot find module '@angular/cdk/bidi'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/menu/menu-directive.d.ts (14,27): Cannot find module '@angular/cdk/bidi'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/menu/menu-trigger.d.ts (9,43): Cannot find module '@angular/cdk/bidi'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/menu/menu-trigger.d.ts (10,67): Cannot find module '@angular/cdk/overlay'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/select/select.d.ts (10,33): Cannot find module '@angular/cdk/a11y'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/select/select.d.ts (11,32): Cannot find module '@angular/cdk/bidi'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/select/select.d.ts (12,109): Cannot find module '@angular/cdk/overlay'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/select/select.d.ts (14,32): Cannot find module '@angular/cdk/collections'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/select/select.d.ts (19,26): Cannot find module '@angular/cdk/platform'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/core/a11y/focus-trap.d.ts (8,95): Cannot find module '@angular/cdk/a11y'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/slider/slider.d.ts (10,32): Cannot find module '@angular/cdk/bidi'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/slide-toggle/slide-toggle.d.ts (9,26): Cannot find module '@angular/cdk/platform'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/snack-bar/snack-bar-config.d.ts (9,36): Cannot find module '@angular/cdk/a11y'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/snack-bar/snack-bar-config.d.ts (10,27): Cannot find module '@angular/cdk/bidi'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/snack-bar/snack-bar-container.d.ts (10,70): Cannot find module '@angular/cdk/portal'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/snack-bar/snack-bar-ref.d.ts (8,28): Cannot find module '@angular/cdk/overlay'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/snack-bar/snack-bar.d.ts (9,25): Cannot find module '@angular/cdk/overlay'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/snack-bar/snack-bar.d.ts (10,31): Cannot find module '@angular/cdk/portal'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/snack-bar/snack-bar.d.ts (11,31): Cannot find module '@angular/cdk/a11y'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/sort/sort-header.d.ts (9,30): Cannot find module '@angular/cdk/table'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/table/cell.d.ts (9,84): Cannot find module '@angular/cdk/table'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/table/table.d.ts (1,26): Cannot find module '@angular/cdk/table'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/table/row.d.ts (1,66): Cannot find module '@angular/cdk/table'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/tabs/tab-label.d.ts (9,41): Cannot find module '@angular/cdk/portal'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/tabs/tab-body.d.ts (10,53): Cannot find module '@angular/cdk/portal'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/tabs/tab-body.d.ts (11,43): Cannot find module '@angular/cdk/bidi'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/tabs/tab-header.d.ts (9,43): Cannot find module '@angular/cdk/bidi'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/tabs/tab-nav-bar/tab-nav-bar.d.ts (9,31): Cannot find module '@angular/cdk/scrolling'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/tabs/tab-nav-bar/tab-nav-bar.d.ts (10,32): Cannot find module '@angular/cdk/bidi'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/tabs/tab-nav-bar/tab-nav-bar.d.ts (11,26): Cannot find module '@angular/cdk/platform'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/tooltip/tooltip.d.ts (10,34): Cannot find module '@angular/cdk/scrolling'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/tooltip/tooltip.d.ts (12,32): Cannot find module '@angular/cdk/bidi'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/tooltip/tooltip.d.ts (13,26): Cannot find module '@angular/cdk/platform'.
ERROR in /Users/username/Projects/fireplace/node_modules/@angular/material/typings/tooltip/tooltip.d.ts (14,132): Cannot find module '@angular/cdk/overlay'.
ERROR in /Users/username/Projects/fireplace/src/auth/auth.module.ts (24,24): Property 'forRoot' does not exist on type 'typeof MaterialModule'.
ERROR in /Users/username/Projects/fireplace/src/common/data.model.ts (25,14): Type 'Feed' has no properties in common with type 'IFeed'.
ERROR in /Users/username/Projects/fireplace/src/common/data.model.ts (32,14): Type 'Like' has no properties in common with type 'ILike'.
ERROR in /Users/username/Projects/fireplace/src/common/data.model.ts (39,14): Type 'Follower' has no properties in common with type 'IFollower'.
ERROR in /Users/username/Projects/fireplace/src/sign-in/sign-in.module.ts (21,24): Property 'forRoot' does not exist on type 'typeof MaterialModule'.
ERROR in /Users/username/Projects/fireplace/src/word-cloud/word-cloud.component.ts (192,25): Property 'items' does not exist on type '{}'.
ERROR in /Users/username/Projects/fireplace/src/word-cloud/word-cloud.component.ts (192,51): Property 'items' does not exist on type '{}'.
ERROR in Error encountered resolving symbol values statically. Calling function 'OpaqueToken', function calls are not supported. Consider replacing the function or lambda with a reference to an exported function, resolving symbol FirebaseUserConfig in /Users/username/Projects/fireplace/node_modules/angularfire2/tokens.d.ts, resolving symbol AngularFireModule.initializeApp in /Users/username/Projects/fireplace/node_modules/angularfire2/angularfire2.d.ts, resolving symbol FirebaseModule in /Users/username/Projects/fireplace/src/firebase/firebase.module.ts, resolving symbol AppModule in /Users/username/Projects/fireplace/src/app/app.module.ts, resolving symbol AppModule in /Users/username/Projects/fireplace/src/app/app.module.ts
ERROR in ./node_modules/@angular/material/@angular/material.es5.js
Module not found: Error: Can't resolve '@angular/cdk/a11y' in '/Users/username/Projects/fireplace/node_modules/@angular/material/@angular'
resolve '@angular/cdk/a11y' in '/Users/username/Projects/fireplace/node_modules/@angular/material/@angular'
  Parsed request is a module
  using description file: /Users/username/Projects/fireplace/node_modules/@angular/material/package.json (relative path: ./@angular)
    Field 'browser' doesn't contain a valid alias configuration
  after using description file: /Users/username/Projects/fireplace/node_modules/@angular/material/package.json (relative path: ./@angular)
    resolve as module
[/Users/username/Projects/fireplace/node_modules/@angular/cdk/table]
[/Users/username/Projects/fireplace/node_modules/@angular/cdk/table.ts]
[/Users/username/Projects/fireplace/node_modules/@angular/cdk/table.js]
[/Users/username/Projects/fireplace/node_modules/@angular/cdk/table]
[/Users/username/Projects/fireplace/node_modules/@angular/cdk/table]
[/Users/username/Projects/fireplace/node_modules/@angular/cdk/table.ts]
[/Users/username/Projects/fireplace/node_modules/@angular/cdk/table.js]
[/Users/username/Projects/fireplace/node_modules/@angular/cdk/table]
[/Users/username/Projects/fireplace/src/@angular/cdk/table]
[/Users/username/Projects/fireplace/src/@angular/cdk/table.ts]
[/Users/username/Projects/fireplace/src/@angular/cdk/table.js]
[/Users/username/Projects/fireplace/src/@angular/cdk/table]
[/Users/username/Projects/fireplace/src/@angular/cdk/table]
[/Users/username/Projects/fireplace/src/@angular/cdk/table.ts]
[/Users/username/Projects/fireplace/src/@angular/cdk/table.js]
[/Users/username/Projects/fireplace/src/@angular/cdk/table]
 @ ./node_modules/@angular/material/@angular/material.es5.js 34:0-218
 @ ./src/app/app.module.ts
 @ ./src/main.ts
 @ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts
ERROR in ./node_modules/css-loader?{"sourceMap":false,"importLoaders":1}!./node_modules/postcss-loader?{"ident":"postcss"}!./node_modules/sass-loader/lib/loader.js?{"sourceMap":false,"precision":8,"includePaths":[]}!./src/theme.scss
Module build failed: 
@import '~@angular/material/core/theming/all-theme';
^
      File to import not found or unreadable: ~@angular/material/core/theming/all-theme.
Parent style sheet: stdin
      in /Users/username/Projects/fireplace/src/theme.scss (line 1, column 1)
Error: 
@import '~@angular/material/core/theming/all-theme';
^
      File to import not found or unreadable: ~@angular/material/core/theming/all-theme.
Parent style sheet: stdin
      in /Users/username/Projects/fireplace/src/theme.scss (line 1, column 1)
    at options.error (/Users/username/Projects/fireplace/node_modules/node-sass/lib/index.js:291:26)
 @ ./src/theme.scss 4:14-186
 @ multi ./src/theme.scss ./src/styles.scss

webpack: Failed to compile.

【问题讨论】:

  • 好吧,但是当我这样做时,例如sudo npm install @angular/core@4.3.6 我仍然有npm WARN @angular/platform-browser@2.4.10 requires a peer of @angular/core@2.4.10 but none is installed. You must install peer dependencies yourself.
  • 这些是警告。您可以忽略它们。您是否尝试过运行该项目?它工作正常吗?或者您在运行时也遇到错误
  • @KaranGarg ng serve 返回错误。我将它们添加到更新的问题中。
  • @KaranGarg 我有类似的问题,不想“忽略警告”不显示此类警告需要什么配置。注意:我的项目是npm WARN react-test-renderer@16.1.1 requires a peer of react@^16.0.0 but none is installed.,是的,我确实安装了所需的对等点。这是我的项目的问题还是react-test-renderer 项目的问题?
  • @user7304253 永远不要做sudo npm 任何事情EVER

标签: javascript angular typescript npm


【解决方案1】:

“A 需要 B 的对等体,但没有安装”。将其视为“A 需要 B 的对等节点之一,但未安装该对等节点,我们正在 没有告诉你需要 B 的哪一个同行。”

使用 npm 3 显式删除了对等依赖项的自动安装。

NPM Blog

Release notes of v3

因此,您无法使用 npm 3 及更高版本自动安装对等依赖项。

更新的解决方案:

对每个对等依赖项使用以下内容来安装并删除错误

npm install --save-dev xxxxx

已弃用的解决方案:

  1. 您可以使用npm-install-peers 查找并安装所需的对等依赖项。

    npm install -g npm-install-peers

    npm-install-peers

  2. 如果您在更新任何软件包版本后遇到此错误,请删除 node_modules 目录并通过 npm installnpm cache cleannpm install 重新安装软件包。

【讨论】:

  • 我正在调试与 OP 相同的问题,npm-install-peers 仅返回 This package doesn't seem to have any peerDependencies
  • 对于未来的读者来说,这不是正确的解决方案,因为npm-install-peers 只会安装 direct 对等依赖项,而不是您的依赖项的对等依赖项。查看他们链接的 github 页面。
  • --save-dev 是做什么的?
  • “...安装它并删除错误”似乎是不正确的英文。还不清楚“xxxxx”与AB 的关系。
  • $ npm-install-peers -bash: npm-install-peers: 找不到命令
【解决方案2】:

对于表单的每个错误:

npm WARN {something} requires a peer of {other thing} but none is installed. You must install peer dependencies yourself.

你应该:

$ npm install --save-dev "{other thing}"

注意:如果{other thing} 有空格,则需要引号,如下例所示:

npm WARN rollup-plugin-uglify@6.0.3 requires a peer of rollup@>=0.66.0 <2 but none was installed.

解决方法:

$ npm install --save-dev "rollup@>=0.66.0 <2"

【讨论】:

  • 顺便说一句,'--save-dev' 是做什么的?
  • --save-dev 将依赖项作为开发依赖项保存到您的package.json - npm doc
  • 对此似乎仍有很多困惑。如果 NPM 会输出建议的命令来安装缺少的对等依赖项,那将是真的有用的。
  • 虽然这可以说是与其他答案相同的答案,但它是唯一一个清楚地解释了要替换到该区域中的内容,其他答案仅列为“xxxxx”。谢谢你的澄清。
  • 这行得通,但让我陷入了困境。当我安装@angular/core@12.2.5 时,我会为某些软件包获得“需要@angular/core@12.0.0”。如果我安装@angular/core@12.0.0,我会得到“需要@angular/core@12.2.5”。在一些依赖链中有很多怪癖,我可以很高兴地把所有东西都扔到一边
【解决方案3】:

使用 npm-install-peers 的公认答案不起作用,也没有删除 node_modules 和重建。运行的答案

npm install --save-dev @xxxxx/xxxxx@latest

对于每一个,其中 xxxxx 指的是对等警告中的确切文本,都有效。我只有四个警告,如果我有十几个或更多的问题,编写命令脚本可能是个好主意。

【讨论】:

  • package@latest 是兔子洞的出路
  • 为什么是--save-dev?那不是将 peerDependency 添加为 package.json 中的 devDependency 吗?
  • 请在“xxxxx 指代对等警告中的确切文本”npm WARN ABC requires a peer of XYZ@VER but none is installed. You must install peer dependencies yourself. 中更加明确,我们应该使用 ABC、XYZ 还是其他部分的警告?
  • @Serge 我在你的例子中使用了 XYZ@VER 的等价物,它对我有用
  • 保存到开发依赖意味着它只在开发期间使用。 Angular 核心绝对不是开发依赖,而是生产依赖。
【解决方案4】:
npm install -g npm-install-peers

它将添加所有缺少的对等点并删除所有错误

【讨论】:

  • 只有您的 package.json 中的直接对等依赖项才会使用此命令从您的项目中安装。您仍然会收到警告,表明您的所有项目依赖项都缺少对等依赖项。
  • 对于所需的解决方案,这似乎已被弃用。不再工作了
【解决方案5】:

我遇到了类似的问题,运行这些说明后解决了!

npm install npm -g
npm install --save-dev @angular/cli@latest
npm install
npm start

【讨论】:

  • 我怀疑npm install npm -g 对每个人来说都不是一个好主意,因为这会更新npm,对吗?
  • 正确。说到最佳实践,每个节点开发人员最终都会使用nvm。它可以根据您打算使用的node版本轻松保持npm版本为最新。
  • 非常感谢。我正在建立一些项目并执行npm install -g,而不考虑我的行为的影响。这节省了很多时间。
【解决方案6】:

我在使用 react-firebase-file-uploader 时遇到了同样的问题。

npm i {something} --legacy-peer-deps  /worked fine for me

【讨论】:

  • 这应该是正确的答案,尽管正斜杠可能应该是哈希注释,除非当然您是通过 IRC 访问它。 npm i --legacy-peer-deps 解决了我遇到的同样问题。
【解决方案7】:

自从 npm7 发布以来,您现在可以自动安装 Peer Dependencies。 他们制定了一种算法,以确保在 node_modules 树中对等依赖项的位置或之上找到有效匹配的对等依赖项。如果是这种情况,那么他们正确地添加对等依赖项。 你只需要安装 npm 7

npm i -g npm@7

查找更多a link

【讨论】:

    【解决方案8】:

    在我的情况下,以下命令对我有用:

    sudo npm cache clean --force
    sudo npm install -g npm
    
    
    sudo apt install libssl1.0-dev
    sudo apt install nodejs-dev
    sudo apt install node-gyp
    sudo apt install npm
    

    之后,如果您遇到“找不到模块‘bcrypt’,那么您可以使用以下命令解决这个问题:

    npm install node-gyp -g
    npm install bcrypt -g
    npm install bcrypt --save  
    

    希望它也对你有用。

    【讨论】:

      【解决方案9】:

      AWS CDK 也有同样的问题,但对我来说,它在 npm install 之前对 rm -rf node_modules 有所帮助。

      还要确保所有 aws-cdk 组件都在同一版本中。

      【讨论】:

        【解决方案10】:

        这里的总边缘情况:我在手动安装 Arch AUR PKGBUILD 文件时遇到了这个问题。在我的情况下,我需要删除“pkg”、“src”和“node_modules”文件夹,然后它构建得很好,没有这个 npm 错误。

        【讨论】:

          【解决方案11】:

          不知道有没有人试过这个新包:

          npm install -g install-peerdeps

          这是npm install -g npm-install-peers的替代品

          来源链接:https://www.npmjs.com/package/install-peerdeps

          【讨论】:

            【解决方案12】:

            尝试使用以下命令安装 multer。它对我有用。

            npm i --save-dev @types/multer 
            

            【讨论】:

              【解决方案13】:

              您只需要依赖一个主要版本的 Angular,因此根据 Angular 2.x 更新所有模块:

              • 将@angular/flex-layout 更新为^2.0.0-beta.9
              • 将@angular/material 更新为^2.0.0-beta.12
              • 将 angularfire2 更新为 ^4.0.0-rc.2
              • 将 zone.js 更新为 ^0.8.18
              • 将 webpack 更新到 ^3.8.1
              • 添加@angular/cdk@2.0.0-beta.12(@angular/material 需要)
              • 将 angular2-google-maps 替换为 @agm/core@1.0.0-beta.1(新名称)

              【讨论】:

              • 您能否详细阐述并给出一个通用的解决方案?我有一个类似的问题,不想按照上面 cmets 的建议“忽略警告”。需要什么配置才能不显示此类警告?注意:我的项目是npm WARN react-test-renderer@16.1.1 requires a peer of react@^16.0.0 but none is installed...,是的,我确实安装了所需的对等点。这是我的项目的问题还是 react-test-renderer 项目的问题?还是我需要找到所有的同行并让他们的版本以某种方式对齐?
              【解决方案14】:

              在安装 Angular 材料 CDK 时遇到同样的问题:

              npm install --save @angular/material @angular/cdk @angular/animations
              

              像下面这样添加-dev 对我有用:

              npm install --save-dev @angular/material @angular/cdk @angular/animations
              

              【讨论】:

                【解决方案15】:

                npm i -D @angular/material @angular/cdk @angular/animations

                【讨论】:

                  【解决方案16】:
                  npm i [package-name] --force
                  

                  使用--force。

                  【讨论】:

                  【解决方案17】:

                  这对我有用 1:进入你的项目目录。 2:删除节点模块文件夹。 3:在你的编辑器中打开你的项目运行命令:yarn 4:然后运行命令 npm i。

                  【讨论】:

                  • 使用两个不同的包管理器是自找麻烦。
                  猜你喜欢
                  • 1970-01-01
                  • 2018-10-23
                  • 2018-06-05
                  • 2019-12-19
                  • 2020-10-11
                  • 1970-01-01
                  • 2019-02-20
                  • 2019-06-03
                  • 2019-02-12
                  相关资源
                  最近更新 更多