Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Install and run

Download a prebuilt binary

Download the prebuilt archive for your system and architecture from GitHub Releases.

Systemv0.0.1 download
Windows x64ZIP
Linux x64tar.gz
macOS Apple Silicontar.gz
macOS Inteltar.gz

Each archive has a .sha256 checksum file in the release. Verify it with sha256sum -c <filename>.sha256 on Linux or shasum -a 256 -c <filename>.sha256 on macOS. On Windows, use Get-FileHash <archive-path> -Algorithm SHA256 and compare the result with the checksum file.

Extract the archive and add the directory containing cjr (cjr.exe on Windows) to PATH. On Linux / macOS, you can install it in your user command directory:

mkdir -p ~/.local/bin
install -m 755 cjr ~/.local/bin/cjr

Ensure ~/.local/bin is on PATH. On Windows, place cjr.exe in a permanent directory and add that directory to your user Path through Environment Variables. Open a new terminal and run:

cjr --version
# cjr 0.0.1

Windows binaries include the C/C++ runtime. The macOS binaries require macOS 13 or newer. The Linux binary is statically linked with musl; the Cangjie application and its runtime still have their own system requirements.

Install from source

Install Rust 1.89 or newer, a C compiler and CMake. Use the MSVC Rust toolchain on Windows.

cargo install --git https://github.com/Zxilly/cjr --tag v0.0.1 --locked

Ensure Cargo’s bin directory is on your PATH, then run:

cjr --version

To install from a local checkout:

git clone https://github.com/Zxilly/cjr.git
cd cjr
cargo install --path . --locked

Run a program

Linux / macOS:

cjr ./app --port 8080

Windows PowerShell:

cjr .\app.exe --port 8080

The first launch may download a full SDK archive. Only the runtime is extracted; later launches reuse it. cjr runs the original executable in place, preserves its contents and uses the current working directory, standard streams and application arguments.

Offline use

Run the program once while online, then use:

cjr --offline ./app

Offline mode uses local content exclusively. Existing runtime records, or local metadata with matching SDK content, must identify an official asset. Missing content produces an error.

Put --offline and -v before the executable path. Everything after that path belongs to the application.