我应该手动安装所有对等依赖项以删除npm警告吗?

时间:2019-02-18 17:15:54

标签: angular typescript npm npm-install

我通过npm安装了多个有角度的软件包,并且收到此警告:

@angular/compiler-cli@7.2.5 requires a peer of typescript@>=3.1.1 <3.3 
                                                                    but none is installed. 
You must install peer dependencies yourself.

a)对等和正义依赖之间有什么区别?
b)我现在应该安装什么来解决警告?

我的意思是,假设我安装了一个已知的软件包“ P”,但是此P需要X,Y和Z。我应该手动安装它们吗?好像不太酷...

实际上,我安装了Angular,但是Angular需要compiler-clr,而最新的需要typescript

当我看到此警告时,我安装了npm install typescript,它安装了版本typescript@3.3.3,但是此*** compiler-clr需要typescript @ <3.3,我该怎么办现在?

对于所有此类警告,我应该分析3.3之前的哪个版本的打字稿?以此类推?

1 个答案:

答案 0 :(得分:2)

a)另一个依赖项的对等依赖项意味着前一个可以与后者同时安装,而另一个依赖项的依赖项可以将前一个与后者安装 >无需您执行任何操作。

请查看此StackOverflow question,以获取有关peerDependenciesdependencies之间的区别的完整信息。


b)@angular/compiler-cliGitHub)软件包从版本typescript到版本3.1.1具有3.3.x的同级依赖。

我建议您在项目的根目录中运行npm i -D typescript@~3.2.0,以在v3.2.x semver(语义版本控制程序)范围内安装minor(有关更多信息,请查看NPM's semver guide)。

npm i -D typescript@~3.2.0命令执行以下操作:

  • i表示您正在安装软件包。
  • -D标志表明您正在安装软件包并将其添加到devDependencies中的package.json对象中
  • typescript@~3.2.0表示您要在3.2.x的版本范围中安装typescript软件包,其中x是数字。


如果您仍然有任何疑问,或者您不了解某件事,请对此答案发表评论。我会尽快回复,以提供帮助。希望这个答案有帮助。