Node.js 检查package.json依赖项是否与安装的依赖项匹配
是否有办法检查节点_模块中安装的依赖项是否与package.json/package-lock.json中列出的依赖项匹配 我知道我可以键入npm安装进行更新。但是如何检查是否需要键入npm安装 理想情况下,我希望将其添加到构建脚本中。你可以想象Node.js 检查package.json依赖项是否与安装的依赖项匹配,node.js,npm,Node.js,Npm,是否有办法检查节点_模块中安装的依赖项是否与package.json/package-lock.json中列出的依赖项匹配 我知道我可以键入npm安装进行更新。但是如何检查是否需要键入npm安装 理想情况下,我希望将其添加到构建脚本中。你可以想象 #!/bin/sh npm install --check-only if [ $? -eq 0 ]; then echo continue with build else echo you need to "npm install"
#!/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解压,要么调用一些官方的npm API,但我都没有看到
也许这样一个选择隐藏在显而易见的地方,而我只是看不见而已。
我确实找到了一个第三方解决方案,但鉴于npm安装已经必须这样做,才能知道它是否需要安装某些东西,我更喜欢通过正式的npm进行安装,这样,如果npm更改了更新标准,我将继续得到相同的结果
有没有办法检查package.json/package-long.json中列出的依赖项是否与安装的内容匹配?尝试使用-dry run标志。根据文件man npm安装:
-dry-run参数将以通常的方式报告安装的内容
没有实际安装任何东西
您可以运行此命令,检查输出。不幸的是,它看起来不像是根据是否有任何更改而更改返回值,但是您可以解析输出
如果输出的最后一行如下所示:
up to date in 7.064s
added 1 package in 7.014s
那么你很好,但是如果它看起来像:
up to date in 7.064s
added 1 package in 7.014s
或
然后需要一个npm i。似乎就是这个包doing@EricWong,我的理解是,检查依赖项只会检查顶级软件包是否有可用的升级。它用于检查您的package.json是否需要更改。它不用于检查依赖项是否可以在package.json中定义的约束范围内升级。