检查package.json依赖项是否与已安装的依赖项匹配

时间:2019-07-13 05:58:38

标签: node.js npm

是否可以检查Thread.Sleep中安装的依赖项是否与node_modules / package.json中列出的依赖项相符?

我知道我可以输入package-lock.json进行更新。但是如何检查是否需要输入npm install

理想情况下,我想将其添加到我的构建脚本中。您可以想象类似

npm install

要么将外壳换成npm,要么调用一些官方的npm API,但我都没有看到。

也许这样的选择隐藏在我的视野中,我只是没有看到它。 我确实找到了第三方解决方案,但是鉴于#!/bin/sh npm install --check-only if [ $? -eq 0 ]; then echo continue with build else echo you need to "npm install" the latest deps fi 已经必须这样做才能知道它是否需要安装某些东西,我更希望通过官方的npm install来进行安装,以便npm更改了更新条件,我将继续获得相同的结果。

有没有一种方法可以检查package.json / package-long.json中列出的依赖项是否与已安装的依赖项匹配?

1 个答案:

答案 0 :(得分:1)

尝试使用--dry-run标志。根据文档man npm-install

  

-dry-run参数将以通常的方式报告安装的内容          无需实际安装任何东西即可完成。

您可以运行此命令,检查输出。不幸的是,返回值看起来并不取决于是否有任何变化,但是您可以解析输出。

如果输出的最后一行看起来像:

up to date in 7.064s

那你很好,但是看起来像这样:

added 1 package in 7.014s

updated 1 package in 6.019s

然后需要一个npm i