Skip to content

Commit

Permalink
install-and-setup.md: update, explain how to compile latest release
Browse files Browse the repository at this point in the history
  • Loading branch information
ilyagr committed Sep 11, 2023
1 parent 70f6e0a commit 21fdeb6
Showing 1 changed file with 45 additions and 9 deletions.
54 changes: 45 additions & 9 deletions docs/install-and-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,17 @@

## Installation

See below for how to build from source. There are also
[pre-built binaries](https://github.com/martinvonz/jj/releases) for Windows,
Mac, or Linux (musl).
### Download pre-built binaries for a release

### Linux
There are [pre-built binaries](https://github.com/martinvonz/jj/releases/latest)
of the last released version of `jj` for Windows, Mac, or Linux (the "musl"
version should work on all distributions).

If you'd like to install a prerelease version, you'll need to use one of the
options below.

On most distributions, you'll need to build from source using `cargo` directly.

### Linux

#### Build using `cargo`

Expand All @@ -20,15 +24,26 @@ packages installed by running something like this:
sudo apt-get install libssl-dev openssl pkg-config
```

Now run:
Now run either:

```shell
# To install the *prerelease* version from the main branch
cargo install --git https://github.com/martinvonz/jj.git --locked --bin jj jj-cli
```

or:

```shell
# To install the latest release
cargo install --locked --bin jj jj-cli
```

#### Nix OS

If you're on Nix OS you can use the flake for this repository.
If you're on Nix OS you can install a **released** version of `jj` using the
[nixpkgs `jujutsu` package](https://search.nixos.org/packages?channel=unstable&show=jujutsu).

To install a **prerelease** version, you can use the flake for this repository.
For example, if you want to run `jj` loaded from the flake, use:

```shell
Expand All @@ -39,6 +54,7 @@ You can also add this flake url to your system input flakes. Or you can
install the flake to your user profile:

```shell
# Installs the prerelease version from the main branch
nix profile install 'github:martinvonz/jj'
```

Expand All @@ -47,6 +63,7 @@ nix profile install 'github:martinvonz/jj'
If you use linuxbrew, you can run:

```shell
# Installs the latest release
brew install jj
```

Expand All @@ -57,6 +74,7 @@ brew install jj
If you use Homebrew, you can run:

```shell
# Installs the latest release
brew install jj
```

Expand All @@ -66,6 +84,7 @@ You can also install `jj` via [MacPorts](https://www.macports.org) (as
the `jujutsu` port):

```shell
# Installs the latest release
sudo port install jujutsu
```

Expand All @@ -82,20 +101,37 @@ brew install pkg-config
export PKG_CONFIG_PATH="$(brew --prefix)/opt/openssl@3/lib/pkgconfig"
```

Now run:
Now run either:

```shell
# To install the *prerelease* version from the main branch
cargo install --git https://github.com/martinvonz/jj.git --locked --bin jj jj-cli
```

or:

```shell
# To install the latest release
cargo install --locked --bin jj jj-cli
```

### Windows

Run:
Run either:

```shell
# To install the *prerelease* version from the main branch
cargo install --git https://github.com/martinvonz/jj.git --locked --bin jj jj-cli --features vendored-openssl
```

or:

```shell
# To install the latest release
cargo install --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.
Expand Down

0 comments on commit 21fdeb6

Please sign in to comment.