我该如何解释 NPM 中的一个包,它抱怨一个明显没有满足的依赖项?

How do I explain a package in NPM whining about a dependency not being met when it apparently is?

我确定我只是在做一些愚蠢的事情,但看到以下内容让我很困扰。

PS C:\Softies\angular2> npm list --depth=0
...
+-- @angular/common@2.4.10
+-- @angular/compiler@2.4.10
+-- @angular/core@2.4.10
+-- @angular/forms@2.4.10
...

然后,当我安装 certain package(这并不重要,因为令人惊讶的行为在许多其他情况下也很明显)我收到以下错误。

PS C:\Softies\angular2> npm install ng2-table --save
...
+-- UNMET PEER DEPENDENCY @angular/common@2.4.10
+-- UNMET PEER DEPENDENCY @angular/compiler@2.4.10
+-- UNMET PEER DEPENDENCY @angular/core@2.4.10
+-- UNMET PEER DEPENDENCY @angular/forms@2.4.10
`-- ng2-table@1.3.2
...

有人可以阐明我可能做错了什么、遗漏了或混淆了概念吗?

作为补救措施,我尝试通过 npm install 重新安装所有内容。不再有红色错误,但消息如下所示。

npm WARN ng2-table@1.3.2 requires a peer of @angular/common@~2.0.0 but none was installed.
npm WARN ng2-table@1.3.2 requires a peer of @angular/compiler@~2.0.0 but none was installed.
npm WARN ng2-table@1.3.2 requires a peer of @angular/core@~2.0.0 but none was installed.
npm WARN ng2-table@1.3.2 requires a peer of @angular/forms@~2.0.0 but none was installed.

完全不知道该怎么做...我没有正确安装 Angular 吗?!当我 运行 页面时它似乎起作用所以我怀疑 table 拉我的腿...

看来是发布到npm的问题。 即使在 git 集线器上它有正确的 package.json:

"@angular/common": "^2.0.0",
"@angular/compiler": "^2.0.0",
"@angular/core": "^2.0.0",
"@angular/forms": "^2.0.0"

您可以继续工作,因为它没有抛出错误,只是警告。

他们的 github 也有一个问题: https://github.com/valor-software/ng2-table/issues/373

你现在可以看看那里发生了什么。