当我 运行 `ng new` 时,npm 有依赖问题

When I run `ng new`, npm has a dependency problem

i 运行 ng new 在终端中。我最终收到了一个 npm 错误

  1. 新建文件夹
  2. 运行 ng new 在新文件夹中
  3. 设置名称并接受默认值(并使用 SCSS)
  4. 看着它创建文件并在最后出现错误
⠸ Installing packages (npm)...npm ERR! code ERESOLVE
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.7.1
npm ERR! node_modules/jasmine-core
npm ERR!   dev jasmine-core@"~3.7.0" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer jasmine-core@">=3.8" from karma-jasmine-html-reporter@1.7.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 ERR! 
npm ERR! See /Users/user/.npm/eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/user/.npm/_logs/2021-07-11T18_12_50_796Z-debug.log
✖ Package install failed, see above.
The Schematic workflow failed. See above.

我在新项目等方面遇到了同样的问题

在生成的 package.json 中,您应该看到一行 "jasmine-core": "~3.7.0" 但似乎其他依赖项(我相信 karma 基于此处的错误输出)需要 jasmine-core 在 3.8.0 或更高版本。只需将 "jasmine-core": "~3.7.0", 的行编辑为 "jasmine-core": "~3.8.0",,然后手动 运行 npm install 即可成功。

然后您应该能够从同一目录 运行 ng serve --open 并且 运行 就好了。

我在 package.json.template 中将“jasmine-core”:“~3.7.0”更改为“jasmine-core”:“~3.8.0”,我现在可以毫无问题地创建项目。 位置可能会有所不同,我的是: /usr/local/lib/node_modules/@angular/cli/node_modules/@schematics/angular/workspace/files/package.json.template

这将解决新项目中的问题