Based on commit 95de4eb
,
12 KiB
↖️ 目录
just
just
为您提供一种保存和运行项目特有命令的便捷方式。
本指南同时也以 书 的形式在线阅读;
命令,在此也称为配方,存储在一个名为 justfile
的文件中,其语法受 make
启发:
然后你可以用 just RECIPE
运行它们:
$ just test-all
cc *.c -o main
./test --all
Yay, all your tests passed!
just
有很多很棒的特性,而且相比 make
有很多改进:
-
just
是一个命令运行器,而不是一个构建系统,所以它避免了许多make
的复杂性和特异性。不需要.PHONY
配方! -
支持 Linux、MacOS 和 Windows,而且无需额外的依赖。(尽管如果你的系统没有
sh
,你需要 选择一个不同的 Shell)。 -
错误具体且富有参考价值,语法错误将会与产生它们的上下文一起被报告。
-
配方可以接受 命令行参数。
-
错误会尽可能被静态地解决。未知的配方和循环依赖关系会在运行之前被报告。
-
just
可以 加载.env
文件,简化环境变量注入。 -
配方可以在 命令行中列出。
-
命令行自动补全脚本 支持大多数流行的 Shell。
-
配方可以用 任意语言 编写,如 Python 或 NodeJS。
-
just
可以从任何子目录中调用,而不仅仅是包含justfile
的目录。 -
不仅如此,还有 更多!
如果你在使用 just
方面需要帮助,请随时创建一个 Issue 或在Discord上与我联系。我们随时欢迎功能请求和错误报告!
安装
预备知识
just
应该可以在任何有合适的 sh
的系统上运行,包括Linux、MacOS 和 BSD。
在 Windows 上,just
可以使用 Git for Windows、GitHub Desktop 或 Cygwin 所提供的 sh
。
如果你不愿意安装 sh
,也可以使用 shell
设置来指定你选择的 Shell。
比如 PowerShell:
# 使用 PowerShell 替代 sh:
set shell := ["powershell.exe", "-c"]
hello:
Write-Host "Hello, world!"
…或者 cmd.exe
:
# 使用 cmd.exe 替代 sh:
set shell := ["cmd.exe", "/c"]
list:
dir
你也可以使用命令行参数来设置 Shell。例如,若要使用PowerShell 也可以用 --shell powershell.exe --shell-arg -c
启动just
。
(PowerShell 默认安装在 Windows 7 SP1 和 Windows Server 2008 R2 S1 及更高版本上,而 cmd.exe
相当麻烦,所以PowerShell 被推荐给大多数 Windows 用户)
安装包
操作系统 | 包管理器 | 安装包 | 命令 |
---|---|---|---|
Various | Cargo | just | cargo install just |
Microsoft Windows | Scoop | just | scoop install just |
Various | Homebrew | just | brew install just |
macOS | MacPorts | just | port install just |
Arch Linux | pacman | just | pacman -S just |
Various | Nix | just | nix-env -iA nixpkgs.just |
NixOS | Nix | just | nix-env -iA nixos.just |
Solus | eopkg | just | eopkg install just |
Void Linux | XBPS | just | xbps-install -S just |
FreeBSD | pkg | just | pkg install just |
Alpine Linux | apk-tools | just | apk add just |
Fedora Linux | DNF | just | dnf install just |
Gentoo Linux | Portage | dm9pZCAq overlay: sys-devel/just | eselect repository enable dm9pZCAq && emerge --sync dm9pZCAq && emerge sys-devel/just |
Various | Conda | just | conda install -c conda-forge just |
Microsoft Windows | Chocolatey | just | choco install just |
预制二进制文件
Linux、MacOS 和 Windows 的预制二进制文件可以在 发布页 上找到。
你也可以在 Linux、MacOS 或 Windows 上使用下面的命令来下载最新的版本,只需将 DEST
替换为你想存储 just
的目录:
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to DEST
例如,安装 just
到 ~/bin
目录:
# 创建 ~/bin
mkdir -p ~/bin
# 下载并解压 just 到 ~/bin/just
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to ~/bin
# 在 Shell 搜索可执行文件的路径中添加`~/bin`
# 这一行应该被添加到你的 Shell 初始化文件中,e.g. `~/.bashrc` 或者 `~/.zshrc`:
export PATH="$PATH:$HOME/bin"
# 现在 just 应该就可以执行了
just --help
GitHub Actions
extractions/setup-just 可以用来在 GitHub Actions 的工作流程中安装 just
。
使用举例:
- uses: extractions/setup-just@v1
with:
just-version: 0.8 # optional semver specification, otherwise latest
发布 RSS 订阅
向后兼容性
随着1.0版本的发布,just
突出对向后兼容性和稳定性的强烈承诺。
未来的版本将不会引入向后不兼容的变化,不会使现有的 justfile
停止工作,或破坏命令行界面的正常调用。
然而,这并不排除错误修复,即使这样做可能会破坏依赖其行为的 justfiles
。
永远不会有一个 just
2.0。任何理想的向后兼容的变化都是在每个 justfile
的基础上选择性加入的,所以用户可以在他们的闲暇时间进行迁移。
还没有准备好稳定化的功能将在 --unstable
标志后被选择性启用。由--unstable
启用的功能可能会在任何时候以不兼容的方式发生变化。