在多语言项目中,环境管理往往是碎片化的:
Node.js、Python、Go、Rust、Java 各自使用不同的版本管理工具,配置格式、版本解析和回退规则也不一致。最终,同一个项目在不同开发者或 CI 环境中可能运行在不同版本上。
Pinset 是一个使用 Rust 编写的开源运行时版本管理器。
它通过统一的 pinset.toml 和 pinset.lock 管理 Node.js、pnpm、Bun、Go、Python、Java、Rust、.NET 和 Flutter/Dart。
Pinset 的核心目标不是简单地“自动切换版本”,而是让版本选择变得:
- 可预测:明确项目、全局和系统环境之间的边界
- 可复现:锁定精确版本及对应平台产物
- 可解释:可以查看当前运行时的解析过程
- 可审计:离线检查配置、锁文件、缓存和安装状态
- 可验证:下载和安装过程中执行完整性与来源校验
GitHub:
github.com/Future-Elem…
欢迎试用、提交 Issue 或参与贡献。