如何安裝並使用 just:寫 justfile 並跑通第一條配方

安裝 just,寫 justfile,用 just 跑通第一條配方。

Makefile 語法容易絆腳,一串 npm script 又難讀。just 是 Casey 維護的命令執行器:在專案根放一份 justfile,用短配方名呼叫本機命令。

對照 just.systems 與 GitHub 倉庫 casey/just,完成本機 安裝並使用 just:裝好二進位、寫 justfile、用 just 跑通第一條配方。這是開發者工具教學,不是腦力激盪說明書。

安裝 just寫 justfile跑第一條配方

先裝命令執行器,再寫配方

just 不取代 Make、npm 或 cargo;它只按配方呼叫你已經裝好的工具。macOS 常用 Homebrew;已有 Rust 工具鏈可用 cargo;Windows 可用 Scoop、Chocolatey 或 WinGet。官方安裝清單在 just.systems 的 Installation 與倉庫 README。

just
命令執行器
justfile
專案配方檔
just --list
列出配方
方式前提適合誰
HomebrewmacOS / Linuxbrewbrew install just
cargoRust toolchaincargo install just
Scoop / Chocolatey / WinGetWindows不想自己解壓二進位

五步跑通第一條配方

  1. 1

    安裝 just

    macOS:brew install just。也可用 cargo install just。確認 just --version 有輸出版本。命令以 just.systems 為準。

  2. 2

    在專案根新建 justfile

    cd 到倉庫根目錄,新建 justfile(也可 Justfile)。just 會從目前目錄往上找,通常與 package.json 或 Cargo.toml 同層。

  3. 3

    寫一條預設配方

    只輸入 just 時會跑第一條配方,或標 [default]。行首 @ 可隱藏回顯。

  4. 4

    列出並執行配方

    just --list 顯示名稱與註解。just 跑預設;just test 跑 test。參數寫成 greet name:,呼叫 just greet Ada。

  5. 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}}"
01

配方與縮排

配方名後接冒號。命令用空白或 Tab 縮排(同一檔保持一種)。# 註解會出現在 just --list。

02

依賴與參數

冒號後寫依賴配方。位置參數跟在名稱後面。傳參失敗時檢查空白與引號。

03

和 Make / npm 的差別

just 預設不依時間戳跳過步驟;它是命令執行器。npm scripts 仍可被配方呼叫。

常見坑

找不到 justfile:目錄不對或檔名拼錯。配方不跑:縮排混用,或命令沒寫在配方下面。command not found:安裝後未刷新 PATH。Windows 換行與預設 shell 見官方章節。

配方跑通、要攤草圖時,回 wbstorm 用房間號即可,另見 建立或加入房間 和 白板基礎。終端 Git 介面見 如何安裝並使用 lazygit。

just 是 Make 的替代品嗎?

定位不同。Make 是建置系統,常依檔案時間戳跳過。just 是命令執行器,每次按配方執行。可以並存。

必須用 Homebrew 嗎?

不必。just.systems 列出 Homebrew、cargo、預編譯包與各平台套件。選本機已有渠道即可。

justfile 一定要叫這個名字嗎?

常見是 justfile 或 Justfile。也可用 just --justfile path。團隊倉庫建議固定一個檔名。

這是 wbstorm 的功能嗎?

不是。本文只講 casey/just。wbstorm 是瀏覽器腦力激盪房間,和命令執行器無關。

建立房間