【问题标题】:Updating to Angular 4 from 2. "Unmet Peer Dependencies" for @Angular/core and @Angular/http从 2 更新到 Angular 4。@Angular/core 和 @Angular/http 的“未满足的对等依赖项”
【发布时间】:2017-04-13 13:30:05
【问题描述】:

我正在尝试从 Angular 2.3 更新到 Angular 4.0,并按照此处的说明进行操作:

http://webcache.googleusercontent.com/search?q=cache:Xd-ocIKZ0BkJ:angularjs.blogspot.com/2017/03/angular-400-now-available.html+&cd=1&hl=en&ct=clnk&gl=us

在那篇文章中,它说我需要做的几乎就是输入以下命令:

npm install @angular/common@latest @angular/compiler@latest @angular/compiler-cli@latest @angular/core@latest @angular/forms@latest @angular/http@latest @angular/platform-browser@latest @angular/platform-browser-dynamic@latest @angular/platform-server@latest @angular/router@latest @angular/animations@latest typescript@latest --save

当我这样做时,我会收到以下错误:

+-- UNMET PEER DEPENDENCY @angular/core@4.0.2
+-- UNMET PEER DEPENDENCY @angular/http@4.0.2

我尝试按照此处所述:How to solve npm UNMET PEER DEPENDENCY 为每一个独立地执行“npm install”,但它没有任何好处。我一直收到同样的错误。

有什么建议吗?我在运行 Node 4.5.0 和 npm 3.10.6 的 Windows 上。

这是我的 package.json:

{
  "name": "Project",
  "version": "1.0.1",
  "scripts": {
    "start": "tsc && concurrently \"tsc -w\" \"lite-server\" \"npm run generate-css\" \"npm run watch-css\" ",
    "pree2e": "npm run webdriver:update",
    "e2e": "tsc && concurrently \"http-server -s\" \"protractor protractor.config.js\" --kill-others --success first",
    "lint": "tslint ./app/**/*.ts -t verbose",
    "generate-css": "node-sass -r app --output ./generated-css",
    "watch-css": "node-sass -w -r app --output ./generated-css",
    "lite": "lite-server",
    "test": "tsc && concurrently \"tsc -w\" \"karma start karma.conf.js\"",
    "test-once": "tsc && karma start karma.conf.js --single-run",
    "tsc": "tsc",
    "tsc:w": "tsc -w"
  },
  "license": "",
  "author": "Me",
  "dependencies": {
    "@angular/animations": "4.0.2",
    "@angular/common": "4.0.2",
    "@angular/compiler": "4.0.2",
    "@angular/compiler-cli": "4.0.2",
    "@angular/core": "4.0.2",
    "@angular/forms": "4.0.2",
    "@angular/http": "4.0.2",
    "@angular/platform-browser": "4.0.2",
    "@angular/platform-browser-dynamic": "4.0.2",
    "@angular/platform-server": "4.0.2",
    "@angular/router": "4.0.2",
    "angular-in-memory-web-api": "0.2.4",
    "angular2-ui-switch": "1.2.0",
    "bootstrap": "3.3.7",
    "core-js": "^2.4.1",
    "mydatepicker":"1.2.9",
    "ng2-translate": "5.0.0",
    "reflect-metadata": "0.1.9",
    "rxjs": "5.0.1",
    "socket.io": "1.7.2",
    "lodash": "4.17.4",
    "socket.io-client": "1.7.2",
    "systemjs": "0.19.40",
    "wijmo": "wijmo-system-min",
    "zone.js": "0.8.5",
    "typescript": "2.2.2"
  },
  "devDependencies": {
    "@types/core-js": "0.9.35",
    "@types/jasmine": "2.5.40",
    "@types/node": "6.0.58",
    "@types/selenium-webdriver": "2.53.39",
    "@types/lodash": "4.14.62",
    "canonical-path":"0.0.2",
    "codelyzer": "0.0.25",
    "concurrently": "3.1.0",
    "http-server": "0.9.0",
    "jasmine-core": "2.5.2",
    "karma": "1.3.0",
    "karma-chrome-launcher": "2.0.0",
    "karma-cli": "1.0.1",
    "karma-htmlfile-reporter": "0.3.4",
    "karma-jasmine": "1.1.0",
    "karma-jasmine-html-reporter": "0.2.2",
    "lite-server": "2.2.2",
    "live-server": "1.1.0",
    "lodash": "4.17.4",
    "node-sass": "3.13.1",
    "nodemon": "1.11.0",
    "protractor": "3.3.0",
    "rimraf": "2.5.4",
    "tslint": "3.15.1"
  }
}

【问题讨论】:

    标签: angular npm-install


    【解决方案1】:

    似乎 package.json 中提到的 node_modules 的 vresions 之间存在冲突

    使用下面的

    "dependencies": {
        "@angular/animations": "^4.0.1",
        "@angular/common": "^4.0.1",
        "@angular/compiler": "^4.0.1",
        "@angular/compiler-cli": "^4.0.1",
        "@angular/core": "^4.0.1",
        "@angular/forms": "^4.0.1",
        "@angular/http": "^4.0.1",
        "@angular/material": "^2.0.0",
        "@angular/platform-browser": "^4.0.1",
        "@angular/platform-browser-dynamic": "^4.0.1",
        "@angular/platform-server": "^4.0.1",
        "@angular/router": "^4.0.1",
         "bootstrap": "^3.3.6",
        "core-js": "^2.4.1",
        "font-awesome": "^4.7.0",
        "rxjs": "5.0.1",
        "systemjs": "0.19.40",
        "typescript": "^2.2.2",
        "zone.js": "^0.8.5"
      },
    

    更新:角材料

    "@angular/material": "^2.0.0-beta.3",
    

    【讨论】:

    • 我觉得我说得太早了.. 看起来我仍然有未满足的对等依赖关系。我之前没有看到它们,因为我的终端缓冲区不够大,无法显示安装的完整结果。在全新安装(删除 node_modules 文件夹后)我仍然得到 @angular/core@4.0.2 和 @angular/http@4.0.2 的“未满足的对等依赖性”
    • 您对哪一个有依赖性??最好使用这个answer 并完全更新你的包 json
    • 我按照那里的说明进行操作,更新后,ncu 笑着说“所有依赖项都与最新的包版本匹配”。但是 npm install 仍然以红色显示相同的两个“未满足的对等依赖项”。该应用程序已完全损坏。我正在将我的 package.json 恢复到上面的版本。
    猜你喜欢
    • 2018-04-16
    • 2017-11-06
    • 2017-05-21
    • 2017-08-21
    • 2016-12-17
    • 2018-07-12
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    相关资源
    最近更新 更多