如何安装并使用 just:写 justfile 并跑通第一条配方

安装 just,写 justfile,用 just 跑通第一条配方。

Makefile 语法容易绊脚,一串 npm script 又难读。just 是 Casey 维护的命令运行器:在项目根放一份 justfile,用短配方名调用本机命令。

对照 just.systems 与 GitHub 仓库 casey/just,完成本机 安装并使用 just:装好二进制、写 justfile、用 just 跑通第一条配方。这是开发者工具教程,不是头脑风暴说明书。

安装 just写 justfile跑第一条配方

先装命令运行器,再写配方

just 不替代 Make、npm 或 cargo;它只按配方调用你已经装好的工具。macOS 常用 Homebrew;已有 Rust 工具链可用 cargo;Windows 可用 Scoop、Chocolatey 或 WinGet。官方安装列表在 just.systems 的 Installation 与仓库 README。

just
命令运行器
justfile
项目配方文件
just --list
列出配方
方式前提适合谁
HomebrewmacOS / Linuxbrewbrew install just
cargoRust toolchaincargo install just
Scoop / Chocolatey / WinGetWindows不想自己解压二进制

五步跑通第一条配方

  1. 1

    安装 just

    macOS:brew install just。也可用 cargo install just。确认 just --version 有输出版本。命令以 just.systems 为准,包名偶尔会变。

  2. 2

    在项目根新建 justfile

    cd 到仓库根目录,新建名为 justfile 的文件(也可 Justfile)。just 从当前目录向上查找,通常放在与 package.json 或 Cargo.toml 同级。

  3. 3

    写一条默认配方

    第一行配方会在只输入 just 时运行。写成 default: 加缩进命令,或用 [default] 属性标出。行首 @ 可隐藏回显。

  4. 4

    列出并运行配方

    just --list 显示配方名与注释。just 跑默认配方;just test 跑名为 test 的配方。参数写成 greet name:,调用 just greet Ada。

  5. 5

    给配方加依赖或变量

    release: test 会先跑 test。变量用 name := "value",配方里写 {{name}}。需要整段脚本时用 shebang 配方(见官方手册 Recipes)。

brew install just
# cargo install just
# scoop install just

just --version
just --list
just
just greet Ada

一份最小 justfile

# justfile — first recipes
default:
    @echo "hello from just"

test:
    @echo "run tests here"

# pass an argument
greet name:
    @echo "hi {{name}}"
01

配方与缩进

配方名后跟冒号。下面的命令用空格或 Tab 缩进(同一文件保持一种)。注释用 #,会出现在 just --list。

02

依赖与参数

冒号后写依赖配方名。位置参数跟在配方名后面。传参失败时检查空格与引号,不要当成 shell 别名随便拆。

03

和 Make / npm 的差别

just 默认不按时间戳判断是否跳过;它是命令运行器。npm scripts 仍可被配方调用,例如 npm test。

常见坑

找不到 justfile:当前目录不对,或文件名拼错。配方不跑:缩进混用 Tab/空格,或命令没写在配方下面。just: command not found:安装后终端未刷新 PATH。Windows 上换行与默认 shell 见官方 Windows 章节。

配方跑通、要摊草图时,回 wbstorm 用房间号即可,另见 创建或加入房间 和 白板基础。终端 Git 界面见 如何安装并使用 lazygit。

just 是 Make 的替代品吗?

定位不同。Make 是构建系统,常按文件时间戳跳过步骤。just 是命令运行器,每次按配方执行。可以并存。

必须用 Homebrew 吗?

不必。just.systems 列出 Homebrew、cargo、预编译包和各平台包管理器。选本机已有的渠道即可。

justfile 必须叫这个名字吗?

常见是 justfile 或 Justfile。也可用 just --justfile path 指定路径。团队仓库建议固定一个文件名。

这是 wbstorm 的功能吗?

不是。本文只讲 casey/just 的安装、justfile 与第一条配方。wbstorm 是浏览器头脑风暴房间,和命令运行器无关。

创建房间