< 返回版块

Mike Tang 发表于 2026-04-28 09:12

Pacquet - Pnpm 的 Rust 重写版本

Pacquet 是 pnpm CLI 的 Rust 重写版,不是另起炉灶的新包管理器,而是把现有 pnpm 的安装引擎逐步迁到 Rust。

项目定位

  • 目标不是改变 pnpm 的使用方式,而是尽量保持行为、命令行标志、默认设置、错误码、文件格式和目录布局与 pnpm 一致
  • 当前仍处于积极开发阶段,暂不适合生产环境
  • 项目采用 Apache-2.0 / MIT 双许可证

路线图

  • 第一阶段:先接管获取和链接流程,锁文件仍由 pnpm 生成
  • 第二阶段:再逐步接管依赖解析能力
  • 项目方预计,仅第一阶段在多数场景下就有机会让 pnpm 获得至少一倍的速度提升

为什么值得关注

Rust 正在继续进入前端和 JavaScript 工具链核心环节。继 Vite 等项目拥抱 Rust 之后,pnpm 这类高频基础工具的 Rust 化,会比单纯的“语言迁移”更有实际影响力。

原文链接:https://github.com/pnpm/pacquet

Hurl 8.0.0 版本发布

Hurl 发布 8.0.0。这个用纯文本定义 HTTP 请求与断言的命令行工具,底层基于 curl 与 Rust,常用于接口调试、接口测试和 CI/CD 场景。

这一版的重点更新

  • 引入实现 RFC 9535 的全新 JSONPath 模块
  • 新增 --no-cookie-store,方便测试无 cookie 工作流
  • 支持断言和捕获 TLS 证书值
  • 分离标准输出与标准错误的颜色控制
  • 新增 rawbytes 查询、--verbosity 选项等能力

兼容性与破坏性变更

  • HurlResult 中改用 CookieStore,可能影响 crate 兼容性
  • 删除已弃用的 --interactive
  • 旧环境变量形式 HURL_foo 改为 HURL_VARIABLE_foo
  • ignore-asserts 重命名为 no-assert

适合谁关注

如果你在做 API 测试、命令行 smoke test、回归测试或流水线中的 HTTP 校验,Hurl 这次升级的 JSONPath 和 TLS 断言增强都很实用。

原文链接:https://github.com/Orange-OpenSource/hurl/releases/tag/8.0.0

pglite-oxide:把 PGlite 嵌进 Rust 应用

pglite-oxide 把 Electric SQL 的 PGlite WASI PostgreSQL 运行时嵌入到 Rust 中,让应用在不额外部署原生 Postgres 进程的前提下,获得本地 Postgres 兼容数据库能力。

核心特点

  • 在 Rust 或 Tauri 应用中直接使用本地 Postgres 语义
  • 可用于快速测试,无需 Docker 或 testcontainers
  • 提供 PostgreSQL 连接 URI,可接入 SQLx、tokio-postgres 等现有生态
  • 让数据库边界保持在应用内部,适合小型嵌入式数据库场景

两种使用方式

  • 直接嵌入式 API:直接在 Rust 代码里创建表、写入和查询数据
  • PostgreSQL 客户端 URI:通过 PgliteServer 暴露连接地址,给现有 Postgres 客户端复用

技术规格

  • 目标 PostgreSQL 17.x PGlite 构建
  • 需要 Rust 1.92+
  • 使用 Wasmtime 44

对于希望在桌面端、本地工具或测试环境里“轻量带一个 Postgres”的 Rust 项目来说,这条路线挺有意思。

原文链接:https://github.com/f0rr0/pglite-oxide

crates.io 开始强制要求使用 User-Agent 标头

crates.io 现在开始更严格地要求下载请求携带 User-Agent 标头。缺少该标头的请求会直接返回 403,这已经影响到部分依赖下载流程。

触发场景

  • 有用户在 BitBake / Yocto 相关工作流中发现 crate 下载突然失败
  • 排查后确认,原因是不带 User-Agent 的请求被 crates.io 拒绝

临时解决思路

  • 先在下载命令中显式补上 User-Agent
  • 例如为 wget 增加类似 --user-agent='bitbake/2.0' 的配置

更深层的影响

  • BitBake 上游可能需要修补
  • 一些依赖抓取链路最好改成直接访问 static.crates.io
  • 对构建系统、离线缓存和长期维护环境来说,这不是小改动,值得提前排查

这条不算“新项目发布”,但对做嵌入式、发行版打包、企业内网构建镜像的 Rust 用户,实际影响可能比普通库更新更直接。

原文链接:https://www.reddit.com/r/rust/comments/1sxk40o/cratesio_useragent_requirement_is_enforcement/


From Rust中文社区 Mike

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页