我将我的angular和我的angular项目版本更新为angular7。但是...当我尝试运行时,我遇到了这个问题:
Package "@angular/compiler-cli" has an incompatible peer dependency to "typescript" (requires ">=3.1.1 <3.2", would install "3.2.2").
Incompatible peer dependencies found. See above.
我该如何解决?如果可能的话,安装一个支持angular / compiler-cli的打字稿3.2.2版本
答案 0 :(得分:4)
我遇到了同样的问题,接下来的步骤帮助我解决了这个问题:
到package.json
的{{1}}文件中,添加下一行devDependencies
运行"typescript": "^3.1.6"
或ng update @angular/cli
现在,当您运行ng update --all
时,将收到下一个错误ng serve
要解决此问题,请安装相同的打字稿版本3.1.6
使用npm ERROR in The Angular Compiler requires TypeScript >=3.1.1 and <3.2.0 but 3.2.2 was found instead.
或yarn npm i typescript@3.1.6 --save-dev --save-exact
现在,当您运行yarn add typescript@3.1.6 --save-dev
时,一切正常,角度cli将被更新
答案 1 :(得分:3)
我也遇到了这个问题
ng update
查看何时需要更新。对我来说,我得到以下输出
We analyzed your package.json, there are some packages to update:
Name Version Command to update
--------------------------------------------------------------------------------
@angular/cli 7.0.6 -> 7.1.3 ng update @angular/cli
@angular/core 7.0.4 -> 7.1.3 ng update @angular/core
所以我跑了它的建议
ng update @angular/cli @angular/core
还请确保使用npm install typescript将Typescript与所请求的版本相匹配
如果再次运行ng update,它应该告诉您一切都是最新的
答案 2 :(得分:0)
错误清楚地表明,在package.json中声明的打字稿依赖关系将安装版本3.2.2,而您要安装的angular-compiler-cli 7.x软件包不支持该版本。这意味着应该对齐版本,并且应该将package.json中的打字稿版本限制为错误文本中指定的版本。
答案 3 :(得分:0)
您应该始终使用@ angular / cli运行角度更新。
ng update # will display all updates that need to be done
ng update --all # use it at your own risk ;-)
然后,软件包的版本将是最新的,而angular支持的版本可能不是最新的。
答案 4 :(得分:0)
让我们来了解一下情况:
您有@angular/complier-cli
取决于typescript < 3.2.0
。但您还必须在typescript
中提及packages.json
。
当ng update --all
看到typescript
模块时,它将尝试将其更新为最新版本:3.2.2。但它认为这会与@angular/compiler-cli
的期望产生冲突。
因此它警告您,不能更新所有软件包到最新版本...直到compiler-cli
被更新为与最新typescript
版本兼容。
因此,解决此问题的最简单方法是将“打字稿”“阻止”到正确的版本,例如,将“ typescript”:“ 3.1.1”放入您的packages.json中,它将解决警告。