检查是否在没有网络的情况下安装了 pacakge.json 的 npm 依赖项

Check if npm dependencies from pacakge.json are installed without network

如何让 npm 在不检查网络的情况下告诉我是否已安装所有依赖项?

我的目标是首先在本地测试是否需要安装任何东西,然后只有在缺少某些东西时,我才会 运行 一个正常的 npm install 来安装它。我试图避免通过网络进行初始检查,但如果一切都已经存在的话。

这也给出了一个具有固定版本的 package.json 文件,因为显然允许自动升级包总是需要远程存储库检查。

更新: 我已经测试了 npm list,它似乎无法访问网络,如果 package.json 中有内容但未安装,它会打印出 "UNMET DEPENDENCY"。这是实现此目标的最佳方式吗?

我可能会得到这样的结果: npm list | grep -c 'UNMET DEPENDENCY'

我不知道有什么可以明确告诉您依赖项是否是从远程仓库安装的。但是我认为 shrinkpack 软件包将帮助您实现目标。

Shrinkpack 将在本地缓存您的 npm 模块,并且仅在现有模块更改或添加新模块时联系远程存储库。

我过去曾使用它来减少 npm install 所需的网络请求数。