相同的完全相同的package.json文件在空的全新项目中工作,但在旧项目中不起作用



当我尝试升级到Angular 8时,我得到了这个错误。

npm WARN old lockfile

npm WARN old lockfile包锁。Json文件是用旧版本的npm,

npm WARN旧的lockfile,所以补充的元数据必须从注册表。

npm WARN old lockfile

这是一个一次性修复,请耐心等待…

npm WARN old lockfile

npm犯错!代码ERESOLVE

npm犯错!erresolve无法解析

npm犯错!

npm犯错!同时解析:comprehensivedashboard@0.0.0

npm犯错!发现:@angular/animations@7.2.6

npm犯错!node_modules @angular/动画

npm犯错!@angular/animations@" ~ 8.2.14"从根项目

npm犯错!同行@angular/animations@"祝辞= 7.0.0"从@angular/material@7.3.3

npm犯错!node_modules @angular/材料

npm犯错!@angular/material@" ~ 8.2.3"从根项目

npm犯错!

npm犯错!无法解析依赖项:

npm犯错!@angular/animations@" ~ 8.2.14"从根项目

npm犯错!

npm犯错!冲突的对等依赖:@angular/core@8.2.14

npm犯错!node_modules @angular/核心

npm犯错!同行@angular/core@" 8.2.14"从@angular/animations@8.2.14

npm犯错!node_modules @angular/动画

npm犯错!@angular/animations@" ~ 8.2.14"从根项目

npm犯错!

npm犯错!修复上游依赖冲突,或者重试

npm犯错!该命令带有——force或——legacy-peer-deps

npm犯错!接受不正确(并且可能损坏)的依赖项决议。

npm犯错!

npm犯错!看到C:UsersvakkinenAppDataLocalnpm-cache erresolve -report.txt完整的报告。

npm犯错!在

中可以找到此运行的完整日志:npm犯错!
C: 当地用户 vakkinen AppData npm-cache_logs 2021 - 10 - 05 - t12_19_50_257z debug.log

所以我决定创建一个全新的Angular8应用,看看包里有什么。Json文件的样子。该文件附在下面。然后我将所有需要的包一次一个地添加到这个全新的空项目中。应用程序构建成功,我可以运行应用程序了。所以我复制并粘贴了所有的依赖和devDependencies到旧的project package.json。由于上述相同的错误,该项目仍然无法通过npm i。因此,我尝试将repo克隆到一个新目录中,并替换了包的内容。使用包的内容创建。Json从全新的空项目,仍然是相同的错误。我做错了什么?

{
"name": "dashboard",
"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": "~8.2.14",
"@angular/cdk": "8.2.3",
"@angular/common": "~8.2.14",
"@angular/compiler": "~8.2.14",
"@angular/core": "~8.2.14",
"@angular/forms": "~8.2.14",
"@angular/material": "~8.2.3",
"@angular/platform-browser": "~8.2.14",
"@angular/platform-browser-dynamic": "~8.2.14",
"@angular/router": "~8.2.14",
"@ng-bootstrap/ng-bootstrap": "^5.3.0",
"bootstrap": "^4.3.1",
"core-js": "^2.5.4",
"@swimlane/ngx-charts": "^11.0.0",
"fusioncharts": "^3.15.0-sr.1",
"hammerjs": "^2.0.8",
"moment": "^2.24.0",
"ngx-bootstrap": "^3.2.0",
"ngx-csv": "^0.3.1",
"ngx-export-as": "1.4.2",
"ngx-scrollbar": "^4.1.1",
"ngx-select-dropdown": "^1.0.1",
"node-sass": "^4.14.0",
"rxjs": "~6.4.0",
"sass-loader": "^8.0.2",
"tslib": "^1.10.0",
"zone.js": "~0.9.1"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.13.0",    
"@angular/cli": "~8.3.29",
"@angular/compiler-cli": "~8.2.14",
"@angular/language-service": "~8.2.14",
"@types/jasmine": "~3.3.8",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "^5.0.0",
"jasmine-core": "~3.8.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.1.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.7.0",
"protractor": "~7.0.0",
"ts-node": "~7.0.0",
"tslint": "~5.15.0",
"typescript": "~3.5.3"
}
}

在与包文件相同的文件夹中应该有一个名为package-lock的文件。删除它,错误就会消失。包锁文件包含依赖项及其版本的所有依赖项。删除它不会影响你的项目,因为它是在npm install上重新生成的。

错误消息警告您package-lock.json文件是问题所在。只需删除它,就会生成一个新的。

问题源于node_modules目录和package-lock.json目录中有不正确的文件。

最简单的解决方案可能是删除node_modules目录和包锁。然后运行npm install以获得一个干净的node_modules目录和一个新的package-lock.json根据你的package.json

我建议阅读更多关于包锁的内容。Json文件用于这里:https://medium.com/coinmonks/everything-you-wanted-to-know-about-package-lock-json-b81911aa8ab8

修复此问题的步骤:

  1. 删除node_modules文件夹
  2. 删除package-lock.json
  3. 运行npm i --force.

相关内容

  • 没有找到相关文章

最新更新