锁定整个工具链
Node.js、Python、Rust 和更多工具共享一份项目配置。版本选择与精确制品分别记录,团队直接按锁文件安装。
pinset install↗锁定项目工具链,确认实际执行环境,用选定版本运行项目命令。
版本信息暂未载入。安装脚本默认获取最新稳定版,也可以在 GitHub 查看发布记录。
curl -fsSL https://raw.githubusercontent.com/Future-Element/pinset/main/install.sh | shprotocol = "pinset/3"schema = 3project_id = "example-project" [tools]node = "24"pnpm = "11"python = "3.14"配置片段 · 精确制品记录在 .pinset/lock.toml。
pinset initpinset use node@24 pnpm@11 python@3.14 --no-installpinset install node --versionpython --versionpinset which --explain在已初始化 Shell 的项目中运行这些命令。
- uses: actions/checkout@v4- uses: Future-Element/pinset@main with: version: latest- run: node --versionGitHub Actions 示例片段,复用项目已提交的锁文件。
你熟悉的工具。统一的项目环境。
从本地项目到自动化流程,让运行环境可复现、可解释、可检查。
Node.js、Python、Rust 和更多工具共享一份项目配置。版本选择与精确制品分别记录,团队直接按锁文件安装。
pinset install↗配置独立生效,工具使用精确安装。遇到版本不一致,可以查看来源、路由与诊断结果。
pinset which --explain↗通过 use 明确升级或切换版本,再用项目自己的命令构建和测试。exec 与 shim 使用同一套锁定环境。
pinset exec -- ./mvnw verify↗先安装 Pinset 并完成 Shell 初始化,再在项目目录中选择工具版本。
Shell 初始化指南 →在项目目录执行,生成项目配置和精确锁文件。
pinset init
pinset use node@24 pnpm@11 python@3.14 --no-install
pinset install初始化 Shell 后,命令会路由到项目锁定的工具。
node --version
python --version
pinset which node --explain提交 .pinset/config.toml 与 .pinset/lock.toml;在新机器上按锁文件安装。
pinset install迁移版本声明、管理更多 CLI,再把同一套工具链带到 CI。
扫描 .tool-versions、package.json 等版本文件,先查看迁移计划,确认后导入。已有的版本选择会保留。
pinset import↗为 Terraform 等工具配置 HTTPS 下载规则,锁定版本和 SHA-256。安装与命令路由沿用同一套流程。
自定义 CLI 指南↗setup-pinset 安装 Pinset、缓存工具、按锁还原并检查。check 的 JSON 报告可以留给后续脚本和归档。
GitHub Action 与 JSON 报告↗管理八种工具链,包括完整 OpenJDK。各工具保留自己的命令,Pinset 负责把它们放在正确的位置。
node · npm · npxpnpmbun · bunxgo · gofmtpython · pipTemurin JDKcargo · rustcflutter · dart支持 Windows、macOS、Linux。具体架构支持取决于各工具上游发行包。 查看支持矩阵 ↗ · 管理其他 CLI 工具 →
完整性校验、显式项目策略和诊断命令,让“为什么运行这个版本”有据可查。
Pinset 管理项目工具链、锁定精确版本并记录实际执行证据。它用 .pinset/config.toml 声明项目需要的工具与策略,用 .pinset/lock.toml 保存精确版本、平台制品和完整性信息。
需要。Pinset 不会自动修改 Shell 配置文件。按照 self shell 命令文档,为 Bash、Zsh、Fish 或 PowerShell 配置初始化,让项目命令路由到 Pinset 管理的版本。
将 .pinset/config.toml 和 .pinset/lock.toml 提交到仓库,团队成员和 CI 使用 pinset install 安装锁定的工具。项目所需平台必须有对应的可用制品。
支持 Windows、macOS 和 Linux,具体架构取决于工具的上游发行包。例如 Flutter 上游没有可用于当前安装模型的 Linux ARM64 SDK,Pinset 会明确提示不支持。
命令优先使用项目选择,未选择的工具使用 Pinset 全局默认,并继续校验项目策略。可用 require_project_tools 开启严格项目模式;不会静默回退到系统 PATH。which --explain 可以解释最终选择。
开源、免费,让开发环境跟着项目走。
安装 Pinset ↑阅读文档 →