just 是一个用 Rust 编写的命令运行器,通过名为 justfile 的文件保存并运行项目常用命令。它借鉴 Make 的语法但去掉了构建系统的复杂性,专注于把一组命令做成简洁可调用的配方(recipe)。

| 类型 | 命令运行器 |
| 开发语言 | Rust |
| 配置文件 | justfile |
| 许可协议 | CC0 开源 |
| 特点 | 不做增量构建 |
just 是一个轻量的命令运行器,让开发者把项目里反复输入的命令保存为文件 justfile 中的配方(recipe),之后用一条短命令即可调用。它由 Rust 编写,语法与 Make 相似却刻意剥离了增量构建等复杂特性,只做好运行命令这一件事。
许多项目的 Makefile 实际上并未用于真正的编译依赖管理,而只是充当命令别名的集合。just 正是针对这种用法而生:它不关心文件依赖与产物时间戳,而专注于清晰地组织、参数化并执行命令,避免了 Make 中因把命令当目标而产生的种种陷阱。
just 启动后向上查找 justfile,解析其中定义的变量与配方,构建出可调用的命令列表。运行某配方时,它将配方主体写入临时脚本并交给指定解释器执行;若配方声明了依赖配方,则先按顺序执行依赖。它不比对文件时间戳,因此每次调用都会真实运行,行为可预测。
适合把项目常用操作,如启动开发服务器、跑测试、格式化代码、发布版本等,收拢到一个自解释的入口文件里。新成员克隆仓库后运行列出命令的指令即可看到所有可用操作,降低上手成本;在脚本较杂的项目中,它是替代散落 Shell 脚本的整洁方案。
问:just 能做增量构建吗?答:不能也不打算做,它定位为命令运行器而非构建系统,不比对文件时间戳,如需增量编译应使用 Make、Task 或专门的构建工具。
问:justfile 语法和 Makefile 兼容吗?答:语法相似但并不兼容,just 去除了 Make 的隐式规则并调整了变量与配方处理方式,通常需要少量改写才能迁移。

| 类型 | 命令运行器 |
| 开发语言 | Rust |
| 配置文件 | justfile |
| 许可协议 | CC0 开源 |
| 特点 | 不做增量构建 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧