如何安装并使用 just:写 justfile 并跑通第一条配方
安装 just,写 justfile,用 just 跑通第一条配方。
Makefile 语法容易绊脚,一串 npm script 又难读。just 是 Casey 维护的命令运行器:在项目根放一份 justfile,用短配方名调用本机命令。
对照 just.systems 与 GitHub 仓库 casey/just,完成本机 安装并使用 just:装好二进制、写 justfile、用 just 跑通第一条配方。这是开发者工具教程,不是头脑风暴说明书。
先装命令运行器,再写配方
just 不替代 Make、npm 或 cargo;它只按配方调用你已经装好的工具。macOS 常用 Homebrew;已有 Rust 工具链可用 cargo;Windows 可用 Scoop、Chocolatey 或 WinGet。官方安装列表在 just.systems 的 Installation 与仓库 README。
| 方式 | 前提 | 适合谁 |
|---|---|---|
| Homebrew | macOS / Linuxbrew | brew install just |
| cargo | Rust toolchain | cargo install just |
| Scoop / Chocolatey / WinGet | Windows | 不想自己解压二进制 |
五步跑通第一条配方
- 1
安装 just
macOS:
brew install just。也可用cargo install just。确认just --version有输出版本。命令以 just.systems 为准,包名偶尔会变。 - 2
在项目根新建 justfile
cd到仓库根目录,新建名为justfile的文件(也可Justfile)。just 从当前目录向上查找,通常放在与package.json或Cargo.toml同级。 - 3
写一条默认配方
第一行配方会在只输入
just时运行。写成default:加缩进命令,或用[default]属性标出。行首@可隐藏回显。 - 4
列出并运行配方
just --list显示配方名与注释。just跑默认配方;just test跑名为 test 的配方。参数写成greet name:,调用just greet Ada。 - 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}}"
配方与缩进
配方名后跟冒号。下面的命令用空格或 Tab 缩进(同一文件保持一种)。注释用 #,会出现在 just --list。
依赖与参数
冒号后写依赖配方名。位置参数跟在配方名后面。传参失败时检查空格与引号,不要当成 shell 别名随便拆。
和 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 是浏览器头脑风暴房间,和命令运行器无关。