什么是 lib.rs?

lib.rs 是一个 Rust 编程语言的程序和库的目录。它包含 156,234 个包,包括来自 crates.io 注册表的所有 155,617 个 crate(除了一些垃圾邮件、域名抢注等例外),以及一些只在 GitHub 或 GitLab 上发布的知名项目。该网站是非官方的,并且与 Rust 基金会无关。

为什么使用 lib.rs?

排名算法

仅按下载量对 crate 进行排序有一些缺点

为了解决这些问题,lib.rs 使用一个结合了许多质量信号的算法。该算法是基于对 RFC 1824 的研究、Rust 用户反馈以及 Open Hub 分析、SourceRank、CocoaPods 的 QualityIndex 和 npm 搜索的启发而设计的。

crate 是根据其整体质量分数进行排序的,这是一个加权组合

得分与crate的关键词与特定类别或搜索查询的相关性相结合。总体而言,该算法在发现高质量crate方面表现非常好。然而,始终存在边缘情况。如果您发现结果不佳,请报告它们

依赖项新鲜度

当crate的用户中有超过一半使用较新版本时,版本被视为过时,而不仅仅是当它们低于最新版本。这样,lib.rs只警告真正落后的crate,而不会对依赖项的次要/无关/实验性/不可升级版本提出异议。

crate页面突出显示过时的依赖项版本

政策

lib.rs本身不是包注册库,只是对其他地方发布的crate的视图。大多数crate来自crates-io,因此受其政策的约束。所有crate都受Rust的行为准则约束。

虽然lib.rs显示了crates-io的几乎所有crate,但它保留了对被认为不适当或受到下架请求的crate省略/隐藏的权利。该网站反对加密货币,此类crate可能会被降低排名或隐藏。crate在lib.rs上的存在并不意味着认可(它们默认允许)。有关数据处理政策

域名抢注

lib.rs不赞成域名抢注(为了保留/阻止域名而注册crate名称,而不是为了发布实际的crate)。该网站将降低或隐藏抢注的crate,并禁止主要用于抢注域名的账户。抢注很难定义,但这里有一些例外