用途:proto 是面向多编程语言的下一代版本管理器,用统一接口管理 Node.js、npm、pnpm、yarn、Bun、Deno、Rust、Go、Python 等 800+ 工具。适合跨项目统一语言与工具版本、通过 .prototools 固定版本保证团队一致、安装运行工具而不污染全局环境,或用一个工具替代 nvm、pyenv、rustup、gvm。
主要能力:install 安装工具并可指定版本或 --build 从源码构建;run 按检测版本运行;exec(v0.53+)引导多工具环境;pin 本地或全局固定版本;versions、outdated、clean、upgrade、diagnose 等管理命令;debug config / debug env 排查配置与环境。版本检测顺序为 CLI 参数、PROTO_*_VERSION 环境变量、当前及父目录 .prototools、生态文件(.nvmrc、.node-version、package.json engines)、全局 ~/.proto/.prototools。支持精确、主版本、波浪号和别名等版本写法。
使用方式:Linux、macOS、WSL 可用 bash <(curl -fsSL https://moonrepo.dev/install/proto.sh) 安装,指定版本时加版本号与 --yes。Shell 需在配置文件中加入 eval "$(proto activate bash)" 或 zsh 对应命令。配置写在 .prototools,可声明各工具版本、[plugins]、[settings] 和 [env]。插件支持远程 TOML、WASM、github://org/repo 及本地 file:// 地址;WASM 插件用 proto_pdk 面向 wasm32-wasip1 构建。可与 moon 集成,也可通过 GitHub Actions moonrepo/setup-toolchain@v0 接入 CI/CD。
限制:资料标注的版本要求(如 --build 需 v0.45+、exec 需 v0.53+)应遵守;插件与部分设置涉及不稳定能力;更多配置细节需查阅随附 references 与 examples,本文未展开。