谁才是 Go 生态的“幕后之王”?—— 深度挖掘 4000 万个节点后的惊人发现

💡 原文中文,约2700字,阅读约需7分钟。
📝

内容提要

开发者Thibaut Rousseau分析了Go生态中最受欢迎的依赖包,发现github.com/stretchr/testify以259,237次依赖遥遥领先。尽管pkg/errors已归档,其依赖量却从3个增至16,001,显示旧习惯难改。该项目提供了Go生态的新视角,数据开源,鼓励开发者探索更多秘密。

🎯

关键要点

  • 开发者Thibaut Rousseau分析Go生态中最受欢迎的依赖包,发现github.com/stretchr/testify以259,237次依赖遥遥领先。
  • pkg/errors已归档,但其依赖量从3个增至16,001,显示旧习惯难改。
  • Thibaut通过Go Proxy构建了一个包含4000万个节点、4亿条关系的巨大图谱。
  • 使用图数据库Neo4j处理复杂的依赖关系,使得依赖链清晰可见。
  • github.com/stretchr/testify是被直接依赖次数最多的包,显示测试在Go社区中的核心地位。
  • 尽管pkg/errors已停止维护,但其使用量却在不断上升,揭示了开发者对熟悉工具的依赖。
  • Thibaut的项目为观察Go生态提供了新的视角,平均每个Go模块拥有10个直接依赖。
  • 作者开源了爬虫代码和Neo4j数据库转储文件,鼓励开发者探索更多秘密。

延伸问答

Go生态中被依赖次数最多的包是什么?

github.com/stretchr/testify以259,237次依赖遥遥领先。

pkg/errors的使用情况如何?

尽管pkg/errors已归档,其依赖量从3个增至16,001,显示旧习惯难改。

Thibaut Rousseau是如何分析Go生态的?

他下载了Go Proxy自2019年以来的所有模块元数据,构建了一个包含4000万个节点的图谱。

使用Neo4j的原因是什么?

Thibaut选择Neo4j是因为传统关系型数据库无法处理海量的依赖关系。

Go模块的平均依赖数是多少?

平均每个Go模块拥有10个直接依赖。

Thibaut的项目对Go生态有什么影响?

该项目为观察Go生态提供了新的视角,鼓励开发者探索更多秘密。

➡️

继续阅读