kmi*_*las 7 dependencies count package npm
是否有一种简单的方法来获取应用程序全局和本地安装的npm软件包的数量?
例如,在运行create-react-app[1]之后,当我输入npm ls命令时,屏幕上会充满所有安装的软件包和依赖项。
如何查找所述软件包和依赖项的数量(“基数”)使我难以理解。Tyvm,基思:^)
参考文献:
In order to count unique dependencies you should exclude deduped packages:
npm ls | sed '/deduped$/d' | wc -l
Run Code Online (Sandbox Code Playgroud)
在最新版本的 中npm,它应该列出运行后安装/添加的软件包数量npm install(或npm i):
在这种情况下,我正在工作的项目只有几个顶级dependencies,并devDependencies在 中列出,package.json但是281添加的所有包的实际计数。我发布了一个单独的问题,希望获得有关审计计数差异的更多信息。
因此,我认为上面列出的是获取特定项目计数的最简单方法。不过,让我们进一步分解你的问题......
参见上文(基本上删除您的node_modules目录并运行npm i)。
OP 的问题涉及到这一点create-react-app。那么如果我想查看 的包裹总数怎么办create-react-app?
npm i create-react-app。你问为什么要创建一个新目录?因为现有项目可能已经安装了一些create-react-app依赖项,从而导致added计数不同:
我对此还没有一个很好的答案(但如果我们遇到一个答案,我很高兴更新答案)。因为全局安装 ( npm i -g ...) 不存储在 global 中package.json,所以我认为您不能npm i -g单独运行来获取计数。似乎一种方法可能是按照OP提到的那样做,这意味着......
npm ls。我确信某些 bash 向导可以通过将 的输出传送npm ls到另一个或两个 CLI 命令来自动执行此操作,例如 ( npm ls | count-lines)。
但这里要注意的一件事是,我不能100% 确定行数是包数的一对一映射。我似乎记得一些实例,其中包下npm有list一个依赖项,但然后在它旁边加上括号,表明它只安装了一次(但列出了多次),是符号链接的,等等。所以再说一次,还不确定全局变量的一个很好的解决方案。
更新:
npm ls将列出某些依赖项,deduped如下所示:
loud-rejection@1.6.0 deduped
Run Code Online (Sandbox Code Playgroud)
因此npm ls,直线计数并不是一种完美的方法,除非您删除deduped行并考虑像这样的其他标志。
| 归档时间: |
|
| 查看次数: |
2111 次 |
| 最近记录: |