This allows the tutorial to reference them and will make it easier to have different instructions for different versions. We can later restore some instructions to the README, but I think this is important since the installation instructions do change in important (even if slight) ways from time to time.
3 KiB
Installation and setup
Installation
See below for how to build from source. There are also pre-built binaries for Windows, Mac, or Linux (musl).
Linux
On most distributions, you'll need to build from source using cargo
directly.
Build using cargo
First make sure that you have the libssl-dev
, openssl
, and pkg-config
packages installed by running something like this:
sudo apt-get install libssl-dev openssl pkg-config
Now run:
cargo install --git https://github.com/martinvonz/jj.git --locked --bin jj jj-cli
Nix OS
If you're on Nix OS you can use the flake for this repository.
For example, if you want to run jj
loaded from the flake, use:
nix run 'github:martinvonz/jj'
You can also add this flake url to your system input flakes. Or you can install the flake to your user profile:
nix profile install 'github:martinvonz/jj'
Homebrew
If you use linuxbrew, you can run:
brew install jj
Mac
Homebrew
If you use Homebrew, you can run:
brew install jj
MacPorts
You can also install jj
via MacPorts (as
the jujutsu
port):
sudo port install jujutsu
From Source
You may need to run some or all of these:
xcode-select --install
brew install openssl
brew install pkg-config
export PKG_CONFIG_PATH="$(brew --prefix)/opt/openssl@3/lib/pkgconfig"
Now run:
cargo install --git https://github.com/martinvonz/jj.git --locked --bin jj jj-cli
Windows
Run:
cargo install --git https://github.com/martinvonz/jj.git --locked --bin jj jj-cli --features vendored-openssl
Initial configuration
You may want to configure your name and email so commits are made in your name.
$ jj config set --user user.name "Martin von Zweigbergk"
$ jj config set --user user.email "martinvonz@google.com"
Command-line completion
To set up command-line completion, source the output of
jj util completion --bash/--zsh/--fish
(called jj debug completion
in
jj <= 0.7.0). Exactly how to source it depends on your shell.
Bash
source <(jj util completion) # --bash is the default
Or, with jj <= 0.7.0:
source <(jj debug completion) # --bash is the default
Zsh
autoload -U compinit
compinit
source <(jj util completion --zsh)
Or, with jj <= 0.7.0:
autoload -U compinit
compinit
source <(jj debug completion --zsh)
Fish
jj util completion --fish | source
Or, with jj <= 0.7.0:
jj debug completion --fish | source
Xonsh
source-bash $(jj util completion)
Or, with jj <= 0.7.0:
source-bash $(jj debug completion)