如何解释 nuget 下载统计信息 / 如何知道我的软件包的使用范围有多广?



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

在nuget页面上,我可以看到"下载统计信息"。

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

  • 任何时候有人运行Nuget Restore,包括Jenkins?
  • 每当有人首次在特定计算机上运行Nuget Restore时?
  • 任何时候有人实际将 nuget 安装到项目中?

是否有任何文件证明这些数字的实际含义?

鉴于第三个选项是唯一真正有趣的选项(这个包的使用范围有多广),如果"下载统计信息"是其他选项之一,是否有任何方法可以衡量?

从字面上看,这是总下载量。 这在端点端严格计数。

您无法真正推断安装/还原等内容。

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

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

  • 接下来,项目具有CI设置,那里的配置也很重要。

    • 他们是否重新映像构建计算机?
    • 它们是否在每次运行之前清理全局包文件夹?
  • 另一个警告是,您无法推断软件包的直接使用与依赖它的更受欢迎的软件包。

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

@jon-skeet为此写了一篇很长的博客文章。

总之:

什么是下载? 以下是一些可能会增加该计数器的因素:

  • 从网页手动下载

  • 在 Visual Studio 中添加新包

  • 在 Visual Studio Code 中添加新包

  • 从命令行安装 nuget

  • 本地项目的 dotnet 还原

  • 测试 PR 的持续集成系统中的 dotnet 还原

  • CI 系统中的 dotnet 还原测试合并的 PR

所有这些听起来都合理,但也有可能它们不会增加计数器:

  • 我的 NuGet 缓存中可能在本地有一个包

  • CI 系统可能有自己的全局包缓存

  • CI 系统可能以某种方式使用镜像服务

最新更新