确定一个给定的npm包的最stream行的版本?

npmregistry提供程序对最依赖的软件包进行了度量,但是您想要确定给定软件包的最stream行版本 – 是否有可能?

作为一个用户,说我正在考虑升级到react-router^4.0.0 ,但想看看一些采用数字(即运行^3.0.0 vs ^4.0.0的人数),是否有一个方法来做到这一点? 一般来说,一个给定的软件包在过去一个月中下载了50万次,我无法想象它们都是foobar@latest ,所以查看每个版本的下载细节似乎是有用的。

此外,作为一个发布者,假设我有一些发布到npm软件包,并且想知道这些软件包的哪个版本最受用户欢迎。 npm是否为此提供某种types的报告? 当我login并查看已发布的项目时,似乎找不到这些数字。

这可能不是你正在寻找的答案,但不幸的是,这似乎不可能。 你有办法看到下载总量,有像npm-stat这样的网站可以显示下载的时间。 您可以从特定软件包的发布时间推断出该软件的下载量。

值得一提的是npm关于如何下载计数的文章,所以你不能说下载计数== npm install人数

另一个虽然相当极端的选项是你可以尝试search具有react-router的JSON文件并查看依赖关系。 我希望看看Github或SearchCode是否有筛选选项来指定它,但它只有这么多的filter。 你虽然可以自动化,但自然它仍然不是很准确。

另外值得一提的是,有一个关于在npm CLI中进行分析的开放性问题

如果NPM提供这样的统计数据,那将非常好。 但不幸的是,目前还没有这样的统计数据。

NPM仅提供上个月的总下载量。 如果你想在更长的时间内看到下载的总数,你可以使用npm-stat 。 但它也不会给每个版本特定的下载状态。

通常, npm install --save <package-name>会安装当前可用的最新版本,该版本被locking到package.json文件。 如果您想升级到高级版本,目前最好的方法是遵循软件包文档提供的升级说明,或者寻求软件包开发人员的支持来检查升级是否值得。