是否有一种简单的方法可以获得已安装的npm软件包的数量,包括应用程序的全局和本地软件包?
例如,在运行create-react-app
[1]之后,当我输入npm ls
命令时,我会安装完整的软件包和依赖项。
如何查找所述包和依赖项的计数(“基数”)。 Tyvm,Keith:^)
参考文献:
答案 0 :(得分:5)
尝试:
import numpy as np
import numpy.random as npr
import matplotlib.pyplot as plt
npr.seed(101)
N = np.zeros(11)
N[0]=100
tvec = np.arange(0, 10, 1)
r_values = npr.normal(loc=2,scale=3, size=10)
for t,r in zip(tvec, r_values):
#print(t,r)
N[t+1]=(1+r**3)+N[t]
plt.hist(N)
答案 1 :(得分:1)
在最新版本的npm
中,它应该列出运行npm install
(或npm i
)后安装/添加的软件包数量的计数:
在这种情况下,我正在工作的项目在dependencies
中仅列出了几个顶级devDependencies
和package.json
,但是281
是所有软件包的实际计数添加。我发布了separate question,希望获得更多有关审计计数差异的信息。
所以,我认为我上面列出的是获取特定项目数量的最简单方法。但是,让我们进一步分解您的问题...
请参见上文(基本上删除您的node_modules
目录并运行npm i
)。
OP的问题以create-react-app
涉及。那如果我想查看create-react-app
的总包数怎么办?
npm i create-react-app
。为什么要创建一个新目录?由于现有项目可能已经安装了create-react-app
个依赖项,因此导致added
的数量有所不同:
我对此没有一个很好的答案(但是如果我们遇到一个答案,我很乐意更新答案)。因为全局安装(npm i -g ...
)不会存储在全局package.json
中,所以我不认为您可以单独运行npm i -g
来获取计数。似乎一种方法可能是执行OP所提到的,这意味着...
npm ls
。而且我确信某些bash向导可以通过将npm ls
的输出传递到另一个CLI命令或两个CLI命令来自动执行此操作。 (npm ls | count-lines
。
这里要注意的一件事是,我不是100%地确定行数是软件包数量的一对一映射。我似乎回想起npm
会list
依赖于某个程序包的情况,但随后在其旁边加上括号,表明该程序仅安装了一次(但多次列出),被符号链接等。 ,还不确定是否有适合全球客户的好解决方案。
更新:
npm ls
将列出某些依赖项,并在其旁边带有deduped
,如下所示:
loud-rejection@1.6.0 deduped
因此,除非您删除npm ls
行,并考虑到其他类似标志的行,否则deduped
的直线计数并不是一种理想的方法。
答案 2 :(得分:1)
为了计算唯一的依赖性,您应该排除重复数据删除的程序包:
npm ls | sed '/deduped$/d' | wc -l