【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/

相关推荐
wuyk5557 分钟前
107.FreeRTOS 链表深度解析:从原理到面试满分答案
c语言·开发语言·数据结构·stm32·单片机·链表·面试
geovindu7 分钟前
CSharp: Wordcloud
开发语言·后端·c#·.net·.netcore·词云
Java小白笔记23 分钟前
Java 实现 ZIP 压缩包生成方案
java·开发语言·网络·7-zip
Persistent的粽子!24 分钟前
C++:类与对象(一)
开发语言·c++·经验分享·笔记
weixin_4407305043 分钟前
使用pytest中方法控制执行步骤(test_begin.py、test_end.py,@pytest.mark.run(order=1))
开发语言·python·pytest
geovindu1 小时前
CSharp: Command Pattern
开发语言·后端·c#·.net·.netcore·命令模式·行为模式
心易行者1 小时前
Python自动化测试7步落地法:用python在线运行省掉90%环境配置时间
java·开发语言·人工智能·python·log4j·ai编程
tedcloud1232 小时前
OpenLogi 怎么搭建?用 Rust 打造一个轻量的 Logitech 外设管理工具
linux·运维·服务器·开发语言·后端·rust·开源
Tanjia_kiki2 小时前
谷歌浏览器中F12编辑并重发请求
开发语言·前端·javascript
程序猿编码2 小时前
基于GGML的C++17轻量化语音推理引擎:说话人识别与语音分析技术全解析
开发语言·c++·pytorch·深度学习·神经网络·大模型