最近在做一个开源 CLI:Pinset 。 它主要解决多语言项目需要同时维护多套版本管理器的问题。目前通过统一的 pinset.toml 和 pinset.lock 管理 Node.js 、pnpm 、Bun 、Go 、Python 、Java 、Rust 、.NET 和 Flutter/Dart 。 设计上比较强调:
- 项目内默认采用严格路由,避免意外使用全局或系统版本
- 可以解释当前版本是如何选出来的
- 安装时进行完整性和来源校验
- 支持只读、离线的锁文件审计
- 传统版本文件只通过显式的 detect / import 迁移,不会被静默当作运行时回退 项目使用 Rust 编写,MIT 协议:
Github 地址:Pinset
起因是因为我电脑重装了系统,然后想配置下开发环境,发现要安装,fnm 、fvm 、go 、rust 、uv 、flutter... 感觉有点麻烦。于是,在没有搜索有没有多语言管理工具的情况下,脑子一热,想自己写一个...不喜勿喷