You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计已安装的非devDependencies类npm模块数量

统计项目中生产依赖的npm模块数量

当然有办法实现啦!虽然没有专门的单条npm命令直接给出数量,但我们可以组合npm的参数和一些工具来搞定。下面给你几个实用的方案:

方案1:直接用npm ls结合文本处理(统计直接生产依赖)

如果你只想统计直接安装的生产依赖(不包含子依赖),可以用npm ls的--prod参数只显示生产依赖,再结合文本过滤工具统计数量:

npm ls --prod --depth=0 | grep -v '^└──' | grep -v '^$' | wc -l
  • --prod(或--production):只列出生产环境依赖,排除devDependencies
  • --depth=0:只显示顶层的直接依赖,不展开子依赖
  • 后续的grep和wc -l:过滤掉树形输出的符号行和空行,最后统计有效行数

方案2:用JSON输出+jq工具(更准确灵活)

如果想要更精准的结果,或者需要处理子依赖,推荐用npm的JSON输出格式,结合jq(一个轻量的JSON处理工具)来统计:

统计直接生产依赖数量

npm ls --prod --depth=0 --json | jq '.dependencies | keys | length'

这个命令会直接输出数字,就是你的直接生产依赖总数。jq部分的作用是提取dependencies对象的所有键(也就是包名),然后返回键的数量。

统计所有生产依赖(包含子依赖,去重)

如果要统计项目中所有用到的生产依赖(包括间接安装的子依赖,且去重),可以用:

npm ls --prod --json | jq '.. | .dependencies? | keys? | .[]' | sort -u | wc -l

这里用jq递归遍历所有依赖,提取所有包名,然后sort -u去重,最后统计数量。

额外:查看生产/开发依赖列表

如果需要明确看到哪些是生产依赖、哪些是开发依赖,也可以用JSON输出配合jq:

  • 查看直接生产依赖列表:
    npm ls --prod --depth=0 --json | jq '.dependencies | keys'
    
  • 查看直接开发依赖列表:
    npm ls --dev --depth=0 --json | jq '.devDependencies | keys'
    

内容的提问来源于stack exchange,提问作者Ben Gubler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:15:15