我把这个问题描述写得很详细,还是有人问「复现步骤呢」。我盯着屏幕沉默了十分钟。我在心里给这个仓库的代码质量评了个级,中等。感动,然后我学到了新的一课

维护者的耐心是开源世界里最稀缺的资源。我把它记在心里,没跟任何人说。我发现这个依赖的传递链上是另一个废弃的库。这大概就是程序员的人生吧

star 了三千个项目,fork 了两个,真正读完源码的只有自己写的那一个。我把相关的记录都翻了出来做对照。我把这个依赖换成了社区维护更活跃的替代品。真香定律准时生效

提了个 PR 修了一行代码,等了三个月,作者的回复是:谢谢,但我打算重写这个模块。我先给自己泡了杯茶,做好了打持久战的准备。我把这个仓库 fork 了一份,改完发现社区已经修了。感动,然后我学到了新的一课

开源协议选型讨论了一个星期,最后项目一个 star 都没收到。我在心里把涉及的所有环节都过了一遍。我翻遍了 GitHub issue,在第三十七个评论里找到了答案。世界瞬间清净了

我在这条 issue 下面留了言,半年后收到了回复。我默默打开了编辑器,准备一步步验证。我把这个依赖换成了社区维护更活跃的替代品。幸好之前留了备份

这个库的 issue 里有八个是同一个问题,没人合并。我在心里给这个项目的长期维护性打了个问号。我沉默了,但心里是服的

社区的氛围很大程度上由最早那批人定下来。我叹了口气,然后打开了编辑器。我把这个库的 API 设计对比了另一个,各有取舍。这条经验值直接拉满

这个仓库的文档比代码更值得读。我愣了两秒,然后继续敲代码。我发现这个 PR 的作者是维护者自己,合得很快。同事说这波操作可以写进新人培训教材

README 写着"三分钟上手",我装环境装了一下午,果然三分钟是理想时间单位。我把手上的资料翻出来又读了两遍。我把这个 issue 的历史翻了一遍,有四个重复的。我沉默了,但心里是服的