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

相关推荐
modelmd1 小时前
研究C语言的hello world输出
c语言·开发语言·chrome
小小19921 小时前
vue 单页面请求
开发语言·前端·javascript
hhb_6181 小时前
JavaScript 本地存储与动态数据渲染实战案例
开发语言·javascript·ecmascript
淀粉肠kk1 小时前
【C++11】智能指针详解
开发语言·c++
胡马北风Norstead1 小时前
企业级门户网站设计与实现:基于SpringBoot + Vue3的全栈解决方案(Day 7)
后端
kyriewen112 小时前
Next.js部署:从本地跑得欢,到线上飞得稳
开发语言·前端·javascript·科技·react.js·前端框架·ecmascript
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题】【Java基础篇】第21题:HashMap和Hashtable的区别是什么
java·开发语言·面试·哈希算法·散列表·hash table
不想写代码的星星2 小时前
COW(Copy-on-Write):开抄开抄,哎嘿,我装的
开发语言·c++
慕容卡卡2 小时前
Claude 使用神器(web页面)--CloudCLI UI
java·开发语言·前端·人工智能·ui·spring cloud