Pinset:用一份配置和锁文件管理 9 种开发运行时

0 阅读1分钟

在多语言项目中,环境管理往往是碎片化的:

Node.js、Python、Go、Rust、Java 各自使用不同的版本管理工具,配置格式、版本解析和回退规则也不一致。最终,同一个项目在不同开发者或 CI 环境中可能运行在不同版本上。

Pinset 是一个使用 Rust 编写的开源运行时版本管理器。

它通过统一的 pinset.tomlpinset.lock 管理 Node.js、pnpm、Bun、Go、Python、Java、Rust、.NET 和 Flutter/Dart。

Pinset 的核心目标不是简单地“自动切换版本”,而是让版本选择变得:

  • 可预测:明确项目、全局和系统环境之间的边界
  • 可复现:锁定精确版本及对应平台产物
  • 可解释:可以查看当前运行时的解析过程
  • 可审计:离线检查配置、锁文件、缓存和安装状态
  • 可验证:下载和安装过程中执行完整性与来源校验

GitHub:
github.com/Future-Elem…

欢迎试用、提交 Issue 或参与贡献。