install-and-setup.md: explain how to compile the latest release

Also a few minor updates.
This commit is contained in:
Ilya Grigoriev 2023-09-10 22:03:41 -07:00
parent 9d20f1af31
commit 21f4015cbf

View file

@ -3,14 +3,18 @@
## Installation ## Installation
See below for how to build from source. There are also ### Download pre-built binaries for a release
[pre-built binaries](https://github.com/martinvonz/jj/releases) for Windows,
Mac, or Linux (musl). 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.
### Linux ### Linux
On most distributions, you'll need to build from source using `cargo` directly.
#### Build using `cargo` #### Build using `cargo`
First make sure that you have the `libssl-dev`, `openssl`, and `pkg-config` First make sure that you have the `libssl-dev`, `openssl`, and `pkg-config`
@ -20,15 +24,26 @@ packages installed by running something like this:
sudo apt-get install libssl-dev openssl pkg-config sudo apt-get install libssl-dev openssl pkg-config
``` ```
Now run: Now run either:
```shell ```shell
# To install the *prerelease* version from the main branch
cargo install --git https://github.com/martinvonz/jj.git --locked --bin jj jj-cli 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 #### 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: For example, if you want to run `jj` loaded from the flake, use:
```shell ```shell
@ -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: install the flake to your user profile:
```shell ```shell
# Installs the prerelease version from the main branch
nix profile install 'github:martinvonz/jj' nix profile install 'github:martinvonz/jj'
``` ```
@ -47,6 +63,7 @@ nix profile install 'github:martinvonz/jj'
If you use linuxbrew, you can run: If you use linuxbrew, you can run:
```shell ```shell
# Installs the latest release
brew install jj brew install jj
``` ```
@ -57,20 +74,20 @@ brew install jj
If you use Homebrew, you can run: If you use Homebrew, you can run:
```shell ```shell
# Installs the latest release
brew install jj brew install jj
``` ```
#### MacPorts #### MacPorts
You can also install `jj` via [MacPorts](https://www.macports.org) (as You can also install `jj` via [the MacPorts `jujutsu`
the `jujutsu` port): port](https://ports.macports.org/port/jujutsu/):
```shell ```shell
# Installs the latest release
sudo port install jujutsu sudo port install jujutsu
``` ```
([port page](https://ports.macports.org/port/jujutsu/))
#### From Source #### From Source
You may need to run some or all of these: You may need to run some or all of these:
@ -82,20 +99,37 @@ brew install pkg-config
export PKG_CONFIG_PATH="$(brew --prefix)/opt/openssl@3/lib/pkgconfig" export PKG_CONFIG_PATH="$(brew --prefix)/opt/openssl@3/lib/pkgconfig"
``` ```
Now run: Now run either:
```shell ```shell
# To install the *prerelease* version from the main branch
cargo install --git https://github.com/martinvonz/jj.git --locked --bin jj jj-cli 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 ### Windows
Run: Run either:
```shell ```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 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 ## Initial configuration
You may want to configure your name and email so commits are made in your name. You may want to configure your name and email so commits are made in your name.