核心功能
把项目里零散的构建、测试、部署命令写进 justfile,之后用 just <recipe> 直接调用。语法围绕“运行命令”设计,适合希望为团队沉淀统一命令入口的项目。
功能亮点
recipe 依赖关系
recipe 可声明依赖,执行 just test 会先跑完 build 再运行测试
命令清单自文档化
just --list 按字母序列出全部 recipe,新人一眼看清项目能跑哪些命令
命令回显与静默
默认把每条命令打印到标准错误,行首加 @ 即可静默执行该行
向上查找 justfile
从任意子目录调用都会向上寻找 justfile,不必先切回项目根目录
适用场景
• 为团队统一构建、测试、部署等命令的调用入口
• 替代仅用来跑命令的 Makefile,做项目任务编排
• 在多包仓库中用模块(mod)分层组织各子项目的命令
安装配置
bash
Homebrew (macOS / Linux): brew install just Arch Linux: pacman -S just Debian 13 / Ubuntu 24.04 及其衍生版: apt install just Fedora: dnf install just Alpine: apk add just Windows: winget install --id Casey.Just --exact choco install just scoop install just Cargo: cargo install just npm: npm install -g rust-just
使用方法
bash
# 在项目根目录创建 justfile,例如: # # build: # cc main.c foo.c bar.c -o main # # test: build # ./test # # sloc: # @echo "`wc -l *.c` lines of code" just --version # 确认安装成功 just # 运行 justfile 中的第一个 recipe just test # 运行指定 recipe(依赖的 build 会先执行) just build sloc # 依次运行多个 recipe just --list # 按字母序列出全部 recipe just --summary # 一行式的简洁列表 just --list --unsorted # 按 justfile 中出现的顺序列出
关键指标
尚未核验对标产品,此处只列本工具自身指标,不做对比结论。
指标just
价格免费
开源是
上手难度入门
相关工具
同类工具
优点
- recipe 支持依赖声明,just test 会自动先执行 build 再跑测试
- just --list 自动生成可用命令清单,等于一份随代码更新的命令文档
- 从任意子目录调用都会向上查找 justfile,调用位置不受限制
- 跨平台包管理器覆盖广,Homebrew、apt、dnf、winget、cargo、npm 均可安装
缺点
- 需要团队成员额外安装工具,不像 make 那样多数系统自带
- justfile 有自己的一套语法、属性与设置,从 Makefile 迁移需要重新学习
- 跨平台使用时 shell 差异与 Windows 路径需要额外配置