just

just

用 justfile 保存并调用项目常用命令的命令运行器

核心功能

把项目里零散的构建、测试、部署命令写进 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 路径需要额外配置