Skip to content

Just —— 类似 Make 的任务运行器

约 472 字大约 2 分钟

实用工具终端Rust

2025-07-09

背景

在终端日常操作中,我们经常需要使用一些重复的特定操作,而且这些操作与项目绑定,不方便放在全局环境中。 例如,我在编辑博客时,就经常需要运行 vuepress dev docs 来实时预览,使用 vuepress build docs 来构建。

总是键入这些命令不仅繁琐,而且一些平时使用频率相对较少的命令也容易遗忘,just 就是这样一个简化在命令行中重复操作的工具。

介绍

just 是一个使用 rust 编写的,语法类似 make 的任务运行器。

很多人应该都用 make 来运行一些简单任务,但是 make 毕竟是一个构造系统,本身也具有一定的复杂性,例如需要指定 .PHONYjust 避免了很多 make 的复杂性,更专注于任务管理。

make 类似,just 使用 justfile 来定义任务:

justfile
dev:
    pnpm run dev --open

deploy:
    @echo "Deploying to aliyun..."
    pnpm run build
    rsync -avz --delete -e ssh ./docs/.vuepress/dist aliyun:Page

    @echo "Deploying to github..."
    git push

lint:
    pnpm run lint

运行 just install 时,just 会在当前目录和父目录寻找文件寻找 justfile 并运行它。

此外,just 还具有以下 make 不具备的特性:

  • 指定运行命令的 shell,甚至可以使用 python 解释器等
  • 更友好的语法
  • 每个配方使用独立的环境,互不干扰
  • 接受命令行参数
  • 用户友好的错误报告
  • 加载 .env 环境变量文件

npm 脚本的比较

并非每个项目都具有 package.json,而且 npm 脚本的功能有限,只能运行一些简单的命令。

相关链接

建议阅读 Just 用户指南了解更多细节。