【Rust日报】2026-04-28 Pacquet:pnpm 的 Rust 重写版本
内容提要
Pacquet 是 pnpm 的 Rust 重写版,旨在保持与 pnpm 一致的使用方式,目前仍在开发中。Hurl 8.0.0 版本发布,增强了 JSONPath 和 TLS 断言功能,适合 API 测试。pglite-oxide 将 PGlite 嵌入 Rust 应用,提供本地数据库能力。此外,crates.io 开始强制要求下载请求携带 User-Agent 标头,影响部分依赖下载流程。
关键要点
-
Pacquet 是 pnpm 的 Rust 重写版,旨在保持与 pnpm 一致的使用方式,当前仍在开发中。
-
Pacquet 项目分为两个阶段,第一阶段接管获取和链接流程,第二阶段接管依赖解析能力。
-
Hurl 8.0.0 版本发布,增强了 JSONPath 和 TLS 断言功能,适合 API 测试。
-
pglite-oxide 将 PGlite 嵌入 Rust 应用,提供本地数据库能力,适合小型嵌入式数据库场景。
-
crates.io 开始强制要求下载请求携带 User-Agent 标头,影响部分依赖下载流程。
延伸解读
Pacquet 项目的重要性
Pacquet 作为 pnpm 的 Rust 重写版本,旨在提升性能并保持一致的使用体验。Rust 的引入可能会显著提高包管理的速度,尤其是在获取和链接流程中,第一阶段预计能实现至少一倍的速度提升。这对开发者来说,意味着更高效的工作流程和更快的依赖管理。
Hurl 8.0.0 的实用性
Hurl 8.0.0 版本的更新增强了 JSONPath 和 TLS 断言功能,特别适合进行 API 测试和 CI/CD 流程中的 HTTP 校验。对于需要频繁进行接口调试的开发者,这些新特性将大大提高测试的灵活性和准确性,值得关注。
pglite-oxide 的应用场景
pglite-oxide 允许开发者在 Rust 应用中嵌入本地 PostgreSQL 数据库,适合小型嵌入式数据库场景。其无需额外部署原生 Postgres 进程的特性,使得快速测试和开发变得更加便捷,尤其适合需要轻量级数据库解决方案的项目。
User-Agent 标头的强制要求
crates.io 强制要求下载请求携带 User-Agent 标头,这一变化可能会影响到某些依赖的下载流程。开发者需要及时调整下载命令,以避免构建失败。这一政策的实施对嵌入式和企业内网构建用户尤为重要,需提前做好适应准备。
延伸问答
Pacquet 是什么?
Pacquet 是 pnpm 的 Rust 重写版本,旨在保持与 pnpm 一致的使用方式,目前仍在开发中。
Pacquet 的开发阶段有哪些?
Pacquet 项目分为两个阶段,第一阶段接管获取和链接流程,第二阶段接管依赖解析能力。
Hurl 8.0.0 版本有哪些新特性?
Hurl 8.0.0 版本增强了 JSONPath 和 TLS 断言功能,适合 API 测试,并新增了多项命令行选项。
pglite-oxide 的主要功能是什么?
pglite-oxide 将 PGlite 嵌入 Rust 应用,提供本地数据库能力,适合小型嵌入式数据库场景。
crates.io 对下载请求有什么新要求?
crates.io 开始强制要求下载请求携带 User-Agent 标头,缺少该标头的请求会被拒绝。
如何临时解决 crates.io 的 User-Agent 问题?
可以在下载命令中显式补上 User-Agent,例如为 wget 增加 --user-agent='bitbake/2.0' 的配置。