无法解决创建新角度项目的依赖树错误
所以今天我想使用该命令创建一个新的 Angular 项目ng new <projectname>,但出现此错误:
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: project-name@0.0.0
npm ERR! Found: jasmine-core@3.6.0
npm ERR! node_modules/jasmine-core
npm ERR! dev jasmine-core@"~3.6.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer jasmine-core@">=3.7.1" from karma-jasmine-html-reporter@1.6.0
npm ERR! node_modules/karma-jasmine-html-reporter
npm ERR! dev karma-jasmine-html-reporter@"^1.5.0" 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.
我真的什么都试过,我更新了npm,装Angular cli一次,下载并安装了node一遍,npm audit和很多其他的东西,但什么都没有发生。
此外,正如您所看到的,错误告诉我使用命令 with --force,我尝试过但没有发生任何事情,而使用--legacy-peer-deps,我将错误显示为未知选项。
最让我烦恼的是昨晚一切正常,我什么都没做,但今天突然出现了这个错误。
回答
打开您使用 ng new 创建的文件夹并打开package.json文件。在devDependencies更改版本“茉莉花核”的3.6.0于3.7.1和“报应-茉莉HTML的记者”从1.5.0到1.6.0并保存。然后返回终端并转到您的项目并运行npm install. 现在它可以工作了,您可以运行ng serve.
- 不是更实际。需要 jasmine-core 版本 3.8.0
- 我遇到这个问题已经有一段时间了,但我已经在 jasmine-core 3.7.1 了。相反,我不得不使用 `npm i --legacy-peer-deps` 去任何地方。今天我发现 jasmine-core 3.8.0 可用,这终于为我解决了这个问题。
- 解决了 "jasmine-core": "~3.8.0" 和 "karma-jasmine-html-reporter": "^1.7.0",
回答
我的是基于@大卫- Öztürk的答案,对角CLI v11.2.12暂时解决这个角CLI GitHub的问题进行讨论,并在其合并后的修复。
通过执行@david-Öztürk 回答中列出的步骤,我仍然遇到相同的错误。而且该修复比建议的解决方案更保守。我希望它可以帮助别人:
在没有自动安装 npm 包的情况下运行 Angular 项目创建:
ng new --skip-install <project-name>
进入项目目录:
cd <project-name>
编辑package.json并更改此...
"karma-jasmine-html-reporter": "^1.5.0",
...到这个:
"karma-jasmine-html-reporter": "~1.5.0",
手动安装 npm 包:
npm install
回答
我遇到了同样的问题,我通过重新安装 nodeJs 14.16.1 解决了它,但是我不得不使用命令手动更改 npm 的版本
npm install -g npm@6.14.12
当然之后,我通过创建一个项目来测试修改
ng new <MyProjet>
回答
看起来像最新的NPM 7.12.0和最新的Node 16.1.0(当前版本)的问题
就我而言,我遵循以下步骤 -
- 卸载节点
- 重新安装最新节点 (
LTS: 14.16.1)- 哪个将安装最新的
NPM : 6.14.12
- 哪个将安装最新的
- 跑过
ng new my-app
- thanks! works like a charm. I use nvm, so my steps were: "nvm install --lts" then reinstall angular "npm install -g @angular/cli" and it worked perfectly
回答
如果您仍然面临此问题,请尝试确保您的package.json所有版本都与其他支持库版本匹配。的jasmine-core必须是大于3.8与karma-jasmine-html-report 1.7+
这是我的 devDependencies 在 package.json 中的样子
"devDependencies": {
"@angular-devkit/build-angular": "~12.0.0",
"@angular/cli": "~12.0.0",
"@angular/compiler-cli": "~12.0.0",
"@types/jasmine": "~3.6.0",
"@types/node": "^12.11.1",
"jasmine-core": "~3.8.0",
"karma": "~6.3.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.0.3",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.7.0",
"typescript": "~4.2.3"
}