如何确定给定 npm 包的最受欢迎版本?
Posted
技术标签:
【中文标题】如何确定给定 npm 包的最受欢迎版本?【英文标题】:How do I determine the most popular version of a given npm package? 【发布时间】:2017-09-10 09:22:40 【问题描述】:npm
注册表提供most depended packages 上的指标,但假设您想确定给定软件包的最流行版本 - 这可能吗?
作为用户,假设我正在考虑升级到 react-router^4.0.0
,但想查看一些采用数字(即运行 ^3.0.0
与 ^4.0.0
的人数),有没有办法做这?一般来说,假设一个给定的包在过去一个月有 500k 的下载量,我无法想象它们全部用于 foobar@latest
,因此查看每个版本的下载量细分似乎很有用。
此外,作为发布者,假设我有一些软件包发布到npm
,并且想了解这些软件包的哪些版本最受我的用户欢迎。 npm
是否为此提供某种类型的报告?当我登录并查看我发布的项目时,我似乎找不到这些号码。
【问题讨论】:
【参考方案1】:这可能不是您正在寻找的答案,但不幸的是,这似乎是不可能的。您确实有办法查看总下载量,并且有像 npm-stat 这样的网站可以显示下载发生时间的细分。您或许可以从特定软件包的发布时间推断出该版本的下载量。
值得一提的是npm's article on how download counts work,所以你不能说下载次数 == 有多少人做过npm install
另一个虽然相当极端的选项是您可以尝试搜索JSON files that have the react-router 并查看依赖项。我希望看看 Github 或 SearchCode 是否有过滤选项供您指定,但它只有这么多过滤器。虽然您可能会自动执行此操作,但自然它仍然不是很准确。
另外值得一提的是open issue regarding instrumenting analytics into npm CLI
【讨论】:
【参考方案2】:NPM 现在公开每个版本的大量下载。
https://www.npmjs.com/package/typescript -> 点击“版本”
【讨论】:
不错,看来他们是从 2018 年开始添加的。 我想这只是几周前的事——不确定。无论如何,请考虑更改接受的答案:)【参考方案3】:如果有 NPM 提供这样的统计数据,那就太好了。但不幸的是,目前没有任何此类统计数据。
NPM 仅提供上个月的总下载量。如果您想查看更长时间内的总下载量,可以使用 npm-stat。但它也没有给出特定于每个版本的下载状态。
通常npm install --save <package-name>
安装当前可用的最新版本,该版本锁定到 package.json 文件。如果您以后想升级到高级版本,目前最好的方法是按照软件包文档提供的升级说明或寻求软件包开发人员的支持,以检查升级是否值得。
【讨论】:
以上是关于如何确定给定 npm 包的最受欢迎版本?的主要内容,如果未能解决你的问题,请参考以下文章
markdown 适用于后端和前端开发人员的最受欢迎的Google Chrome扩展程序。