pinset
EN
PINSET 最新发布查看版本更新

多语言开发,
一处锁定。

锁定项目工具链,确认实际执行环境,用选定版本运行项目命令。

安装 Pinset 最新稳定版MIT · 免费开源

版本信息暂未载入。安装脚本默认获取最新稳定版,也可以在 GitHub 查看发布记录。

curl -fsSL https://raw.githubusercontent.com/Future-Element/pinset/main/install.sh | sh
从你的下一个项目开始 →
~/your-next-project
protocol = "pinset/3"schema = 3project_id = "example-project" [tools]node = "24"pnpm = "11"python = "3.14"

配置片段 · 精确制品记录在 .pinset/lock.toml。

同一个项目,同一组运行环境。→

你熟悉的工具。统一的项目环境。

Node.jspnpmBunGoPythonJavaRustFlutter / Dart
为真实的开发工作准备

把版本管理好。
把注意力留给代码。

从本地项目到自动化流程,让运行环境可复现、可解释、可检查。

01 /

锁定整个工具链

Node.js、Python、Rust 和更多工具共享一份项目配置。版本选择与精确制品分别记录,团队直接按锁文件安装。

pinset install↗
02 /

每一次选择,都能解释

配置独立生效,工具使用精确安装。遇到版本不一致,可以查看来源、路由与诊断结果。

pinset which --explain↗
03 /

用选定环境运行项目命令

通过 use 明确升级或切换版本,再用项目自己的命令构建和测试。exec 与 shim 使用同一套锁定环境。

pinset exec -- ./mvnw verify↗
快速开始

一次声明,
每次都就位。

先安装 Pinset 并完成 Shell 初始化,再在项目目录中选择工具版本。

Shell 初始化指南 →
.pinset/config.toml
+ .pinset/lock.toml
01

创建项目,选择版本

在项目目录执行,生成项目配置和精确锁文件。

项目终端
pinset init
pinset use node@24 pnpm@11 python@3.14 --no-install
pinset install
02

直接使用熟悉的命令

初始化 Shell 后,命令会路由到项目锁定的工具。

项目终端
node --version
python --version
pinset which node --explain
03

把同一套环境交给团队和 CI

提交 .pinset/config.toml 与 .pinset/lock.toml;在新机器上按锁文件安装。

新机器 / CI
pinset install
接入你的工作流

从已有项目,到自动化构建。

迁移版本声明、管理更多 CLI,再把同一套工具链带到 CI。

01 /

老项目也能接进来

扫描 .tool-versions、package.json 等版本文件,先查看迁移计划,确认后导入。已有的版本选择会保留。

pinset import↗
02 /

把常用 CLI 一起管起来

为 Terraform 等工具配置 HTTPS 下载规则,锁定版本和 SHA-256。安装与命令路由沿用同一套流程。

自定义 CLI 指南↗
03 /

在 CI 里还原并检查

setup-pinset 安装 Pinset、缓存工具、按锁还原并检查。check 的 JSON 报告可以留给后续脚本和归档。

GitHub Action 与 JSON 报告↗
TOOLCHAINS

不止一种语言。
只需一种工作方式。

管理八种工具链,包括完整 OpenJDK。各工具保留自己的命令,Pinset 负责把它们放在正确的位置。

01

Node.js

node · npm · npx
02

pnpm

pnpm
03

Bun

bun · bunx
04

Go

go · gofmt
05

Python

python · pip
06

Java

Temurin JDK
07

Rust

cargo · rustc
08

Flutter / Dart

flutter · dart

支持 Windows、macOS、Linux。具体架构支持取决于各工具上游发行包。 查看支持矩阵 ↗ · 管理其他 CLI 工具 →

可验证,才可依赖

每个版本有来源。
每条边界有声明。

完整性校验、显式项目策略和诊断命令,让“为什么运行这个版本”有据可查。

DOCUMENTATION

从第一条命令,到整个工作流。

浏览全部 29 个命令 →
你可能想知道

开始之前。

Pinset 是什么?

Pinset 管理项目工具链、锁定精确版本并记录实际执行证据。它用 .pinset/config.toml 声明项目需要的工具与策略,用 .pinset/lock.toml 保存精确版本、平台制品和完整性信息。

安装 Pinset 后,还需要配置 Shell 吗?

需要。Pinset 不会自动修改 Shell 配置文件。按照 self shell 命令文档,为 Bash、Zsh、Fish 或 PowerShell 配置初始化,让项目命令路由到 Pinset 管理的版本。

能和团队、CI 使用相同的版本吗?

将 .pinset/config.toml 和 .pinset/lock.toml 提交到仓库,团队成员和 CI 使用 pinset install 安装锁定的工具。项目所需平台必须有对应的可用制品。

支持哪些操作系统?

支持 Windows、macOS 和 Linux,具体架构取决于工具的上游发行包。例如 Flutter 上游没有可用于当前安装模型的 Linux ARM64 SDK,Pinset 会明确提示不支持。

Pinset 会自动使用系统里的运行时吗?

命令优先使用项目选择,未选择的工具使用 Pinset 全局默认,并继续校验项目策略。可用 require_project_tools 开启严格项目模式;不会静默回退到系统 PATH。which --explain 可以解释最终选择。

让下一个项目,一开始就就位。

开源、免费,让开发环境跟着项目走。

安装 Pinset ↑阅读文档 →