百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
P

pubgrub

> 编程语言
开源

PubGrub 版本的求解算法在 Rust 中实现

786 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

PubGrub 版本的求解算法在 Rust 中实现

PubGrub 是一个高性能的版本解析算法,具有良好的错误消息,它可以找到一组满足一组包及其传递依赖关系所有约束的包和版本。本 Rust 实现被 [uv][uv] 使用,并被指定为 cargo 的求解器的替代方案,而其他 PubGrub 实现则被 [dart][medium-pubgrub], [bundler][bundler] 和 [poetry][poetry] 使用。

PubGrub 的 Rust 实现具有高度的灵活性。它适用于包类型(包括虚拟包)、版本格式和使用的版本集,用户可以控制包和版本的优先级(包括最高和最低版本的解决方案),并且错误渲染可以自定义。

PubGrub 在 2018 年由 Natalie Weizenbaum 发布 [博客文章][medium-pubgrub],她为 dart 包管理器开发了它。从算法上讲,它是一种使用冲突驱动的子句学习的 SAT 解决器。关于算法的详细说明可在 [GitHub][GitHub-pubgrub] 中找到,并由我们的 [内部指南][guide-internals] 补充。该算法的基础是答案集编程 (ASP),Martin Gebser、Roland Kaminski、Benjamin Kaufmann 和 Torsten Schaub 的《[实践中的答案集求解][potassco-book]》一书中提供了详细介绍。

来自博客文章的错误消息: 由于 dropdown >=2.0.0 依赖 icons >=2.0.0,而 root 依赖 icons =2.0.0,这是被禁止的。 由于 menu >=1.1.0 依赖 dropdown >=2.0.0,因此 menu >=1.1.0 被禁止。 此外,由于 menu >=1.1.0 依赖 icons =2.0.0,因此 icons =2.0.0 被禁止。

[][guide] [][docs] [][crates]

Issues· 30 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Rustdependency-solver

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言