【Rust日报】2026-04-28 Pacquet:pnpm 的 Rust 重写版本

【Rust日报】2026-04-28 Pacquet:pnpm 的 Rust 重写版本

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/

相关推荐
.千余2 小时前
【C++】C++继承入门(下):友元、静态成员与菱形继承的底层逻辑
开发语言·c++·笔记·学习·其他
小短腿的代码世界2 小时前
行情快照与增量更新引擎:Qt在高频交易数据分发中的核心架构——你的行情推送为什么延迟了500ms?
开发语言·qt·架构
初中就开始混世的大魔王2 小时前
6 Fast DDS-传输层
开发语言·c++·中间件·信息与通信
地铁潜行者2 小时前
加了幂等表,为什么消息重试反而不执行了?聊聊 MQ 消费幂等的边界
java·后端
地铁潜行者3 小时前
Kafka 只发了一条消息,为什么业务侧消费了两次?
后端
文心快码BaiduComate3 小时前
提升组织级AI Coding质量:电商搜索项目实践
前端·后端·程序员
啊森要自信3 小时前
【GUI自动化测试】控件、鼠标键盘操作与多场景自动化
c语言·开发语言·python·adb·ipython
用户8356290780513 小时前
Python 操作 Word 修订跟踪(Track Changes)
后端·python
花北城3 小时前
【C#】ABP框架服务端开发
开发语言·c#·abp
电商API_180079052473 小时前
Python 实现闲鱼商品列表批量采集,接口异常重试机制搭建
大数据·开发语言·数据库·爬虫·python