如何解释 nuget 下载统计/如何知道我的包被广泛使用?

How to interpret nuget Download statistics / How to know how widely used my package is?

我有一个小的 nuget 包 (EnumStringValues, plug, plug, plug)

在 nuget 页面上我可以看到 "Download Statistics"。

这个数字是什么意思? 计数器何时可能增加的一些可能性:

是否有关于这些数字实际含义的文档?

鉴于第 3 个选项是唯一真正有趣的选项(此软件包的使用范围有多广),是否有任何方法可以衡量 "Download Statistics" 是否执行其他选项之一?

这是字面上的总下载量。 这是严格计算在端点方面。

你无法真正推断 installations/restore 等

原因在于 NuGet 客户端采用的优化,以及开发人员的开发环境。

  • NuGet 客户端有 global packages folder,这基本上意味着理想情况下每台机器只下载 1 个包(人们可以为不同的项目等配置不同的全局包文件夹)。

  • 接下来,项目有CIset-up,那里的配置也很重要。

    • 他们是否重新映像构建机器?
    • 他们会在每次 运行 之前清理全局包文件夹吗?
  • 另一个警告是你不能推断你的包的直接使用与依赖它的更受欢迎的包。

基本上,要点是,不幸的是,目前您无法了解每个 project/per 唯一用户对您的包的使用情况。

@jon-skeet 写了一篇 long blog post about this.

简而言之:

What’s a download? Here are a few things that might increment that counter:

  • Manual download from the web page

  • Adding a new package in Visual Studio

  • Adding a new package in Visual Studio Code

  • nuget install from the command line

  • dotnet restore for a project locally

  • dotnet restore in a Continuous Integration system testing a PR

  • dotnet restore in a CI system testing a merged PR

All of them sound plausible, but it’s also possible that they wouldn’t increment the counter:

  • I might have a package in my NuGet cache locally

  • A CI system might have its own global package cache

  • A CI system might use a mirror service somehow