【问题标题】:Check if npm dependencies from pacakge.json are installed without network检查 package.json 中的 npm 依赖项是否在没有网络的情况下安装
【发布时间】:2017-02-17 23:07:48
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 我的更新似乎确实有效,但我认为@apfrancis 的答案更合适。标记为正确答案。

标签: npm npm-install


【解决方案1】:

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

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

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

【讨论】:

  • 运行npm install --loglevel http 也会在安装过程中向您显示它何时接入网络。
猜你喜欢
  • 2017-06-15
  • 2016-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多