尝试在 package.json 上执行 npm install 时出现错误

vis*_*h60 3 node.js npm typescript angular

我正在尝试npm install设置 Angular 项目,但遇到了这些错误。我在 Mac 上尝试打开一个相对较旧的项目,这很可能是我遇到问题的原因。

npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR! 
npm ERR! While resolving: @angular-devkit/build-angular@15.2.2
npm ERR! Found: typescript@3.5.3
npm ERR! node_modules/typescript
npm ERR!   dev typescript@"~3.5.3" from the root project
npm ERR!   peer typescript@">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev" from tslint@5.15.0
npm ERR!   node_modules/tslint
npm ERR!     dev tslint@"~5.15.0" from the root project
npm ERR!   1 more (tsutils)
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer typescript@">=4.8.2 <5.0" from @angular-devkit/build-angular@15.2.2
npm ERR! node_modules/@angular-devkit/build-angular
npm ERR!   dev @angular-devkit/build-angular@"^15.2.2" from the root project
npm ERR! 
npm ERR! Conflicting peer dependency: typescript@4.9.5
npm ERR! node_modules/typescript
npm ERR!   peer typescript@">=4.8.2 <5.0" from @angular-devkit/build-angular@15.2.2
npm ERR!   node_modules/@angular-devkit/build-angular
npm ERR!     dev @angular-devkit/build-angular@"^15.2.2" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
Run Code Online (Sandbox Code Playgroud)

我尝试--force这样做,--legacy-peer-deps但它们都给我带来了一些漏洞。我也尝试过降级节点版本,但没有成功。我查看了 package.json 版本并找到了 "@types/node": "~8.9.4",从我发现的是该项目的指定依赖项,并尝试降级到该版本。所做的一切只是让它变得异常缓慢,并最终给我留下了错误。这是 package.json 文件:

{
  "name": "client",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^15.2.2",
    "@angular/cdk": "^15.2.2",
    "@angular/common": "^15.2.2",
    "@angular/compiler": "^8.2.14",
    "@angular/core": "^8.2.14",
    "@angular/flex-layout": "^8.0.0-beta.27",
    "@angular/forms": "^15.2.2",
    "@angular/material": "^15.2.2",
    "@angular/platform-browser": "^15.2.2",
    "@angular/platform-browser-dynamic": "^15.2.2",
    "@angular/router": "^15.2.2",
    "apollo-angular": "^4.2.1",
    "apollo-angular-link-http": "^1.11.0",
    "apollo-cache-inmemory": "^1.6.6",
    "apollo-client": "^2.6.10",
    "apollo-link": "^1.2.14",
    "deep-copy-ts": "^0.5.0",
    "graphql": "^14.7.0",
    "graphql-tag": "^2.11.0",
    "hammerjs": "^2.0.8",
    "rxjs": "~6.4.0",
    "ts-deepcopy": "^0.1.4",
    "tslib": "^1.13.0",
    "zone.js": "~0.9.1"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^15.2.2",
    "@angular/cli": "^15.2.2",
    "@angular/compiler-cli": "^15.2.2",
    "@angular/language-service": "^8.2.14",
    "@types/jasmine": "~3.3.8",
    "@types/jasminewd2": "^2.0.8",
    "@types/node": "~8.9.4",
    "codelyzer": "^0.0.28",
    "jasmine-core": "^3.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "^6.4.1",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.5.4",
    "protractor": "^7.0.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.15.0",
    "typescript": "~3.5.3"
  }
}
Run Code Online (Sandbox Code Playgroud)

角度-CLI 版本

以下是我在终端中运行“ng version”时的版本。我刚刚开始从事前端开发,因此我们将不胜感激。

编辑:按照罗伯特的建议,出现以下错误。

尝试2 在此输入图像描述 在此输入图像描述

小智 8

这个问题是由于有 Angular 版本,但并非所有 npm 包都支持当前版本和许多其他已弃用的功能。

npm install --force 
Run Code Online (Sandbox Code Playgroud)

它将从package.json下载所有软件包及其版本,并确保在使用时运行该项目

npm run start
Run Code Online (Sandbox Code Playgroud)

只下载指定版本的包

npm ci --force
Run Code Online (Sandbox Code Playgroud)

要在安装所有 package.json 后解决问题(如果有任何问题),请使用

npm install --legacy-peer-deps
Run Code Online (Sandbox Code Playgroud)