
justfile 快速指南5 分钟把常用命令变成 recipe【免费下载链接】just Just a command runner项目地址: https://gitcode.com/GitHub_Trending/ju/just你在一个仓库里干活构建命令是cargo build --release cp target/release/app dist/每次都要手敲一遍还总差一点。写进 README 也没人看。just 就是干这个的把命令写进项目根目录的 justfile团队里所有人统一跑just build就行。just 是什么和 Makefile 有什么区别just 是一个轻量级命令运行器command runner你在 justfile 这个任务脚本里定义一个个 recipe然后用just recipe名一条命令执行不用背参数顺序。选择优点代价Makefile系统自带、生态成熟Tab 缩进限制多报错信息不友好纯 Shell 脚本灵活度最高要自己写 CLI、做任务分发npm scripts前端生态顺手绑定 Node非 JS 项目用不上just语法简单、报错可读自带参数与跨平台需要单独安装 三分钟上手justfile 安装与第一个任务先装 justcargo install just # macOS 也可以 brew install just在项目根目录建一个 justfile写第一个 recipehello nameworld: echo hello, {{name}}然后运行$ just hello hello, world装、写、跑一个最小闭环就通了。想看到所有可用任务随时just --list。一个例子读懂语法下面是一个小型 Rust 项目的完整 justfile覆盖变量、依赖、参数和命令前缀BIN_NAME : demo OUT_DIR : dist / BIN_NAME # 反引号里执行命令输出作为变量值 GIT_SHA : git rev-parse --short HEAD test *flags--verbose: cargo test {{flags}} # build 依赖 clean先跑 clean 再跑自己的命令 build: clean cargo build --release mkdir -p {{OUT_DIR}} cp target/release/{{BIN_NAME}} {{OUT_DIR}}/ clean: cargo clean echo 构建产物已清理 # - 前缀这一步失败也不中断 publish: build -curl -fsS https://example.com/notify对着它看这张速查表写法含义VAR : 值字符串变量赋值SHA : \命令执行命令把输出存进变量dist / BIN_NAME路径拼接b: ab 依赖 aa 先执行nameworld带默认值的参数*flags变长参数命令只显示输出不显示命令本身-命令该步失败也继续往下跑⚡ just 特性速查内置函数函数作用例子os()当前系统名返回linux/windowsenv_var(NAME)读环境变量env_var(HOME)quote(s)转成 shell 安全字符串quote(a b)file_name(p)取路径里的文件名file_name(/a/b/c.txt)→c.txtif/else 条件分支PYTHON : if os() windows { .venv/Scripts/python } else { .venv/bin/python }跨平台构建脚本的 shell 设置set shell : [sh, -c] set windows-shell : [powershell.exe, -NoLogo, -Command]dotenv 加载set dotenv-load # 自动读取当前目录的 .env deploy: curl https://api.{{env_var(STAGE)}}.example.comalias 与 modalias t : test # 以后跑 just t 即可 mod deploy/aws # 引入 deploy/aws.just可用 deploy::aws::xxx 调用完整写法可以看 examples/ 里的 kitchen-sink 示例。团队落地建议justfile 怎么组织文件按固定顺序排set设置 → 变量 → alias → recipe高频 recipe 放最上面。命名recipe 用小写加连字符如build-docs不想暴露的内部 helper 用_开头。排查先看清单just --list列出全部任务。想看某任务会执行什么但不真跑just --dry-run build。想确认变量最终取到什么值just --evaluate会展开全部变量。⚠️ 常见坑缩进混用空格和 Tab原因缩进不一致会直接报错解法全文统一 2 个空格别中途切换。字符串里带引号等特殊字符原因普通字符串容易把解析器搞乱解法用quote()转义或多行场景用三引号字符串。Windows 上行为不同原因shell 和路径分隔符都和 Linux/macOS 不一样解法文件顶部设set windows-shell需要分支的地方用os()判断。进阶阅读官方文档中文文档、英文文档示例集合examples/从跨平台 Python 项目到 pre-commit 工作流都有想抠语法细节src/parser.rs把你今天敲得最勤的那条命令变成 recipe剩下的交给just。【免费下载链接】just Just a command runner项目地址: https://gitcode.com/GitHub_Trending/ju/just创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考