如何解决这种依赖性问题

时间:2018-12-15 15:53:15

标签: angular typescript

我将我的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版本

5 个答案:

答案 0 :(得分:4)

我遇到了同样的问题,接下来的步骤帮助我解决了这个问题:

  1. package.json的{​​{1}}文件中,添加下一行devDependencies

  2. 运行"typescript": "^3.1.6"ng update @angular/cli

  3. 现在,当您运行ng update --all时,将收到下一个错误ng serve

  4. 要解决此问题,请安装相同的打字稿版本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中,它将解决警告。