garage/doc/book/cookbook/from-source.md
Alex Auvolat 2465163e39
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
documentation: add mention to install build-essential
2022-02-16 12:18:24 +01:00

1.5 KiB

+++ title = "Compiling Garage from source" weight = 10 +++

Garage is a standard Rust project. First, you need rust and cargo. For instance on Debian:

sudo apt-get update
sudo apt-get install -y rustc cargo

You can also use Rustup to setup a Rust toolchain easily.

In addition, you will need a full C toolchain. On Debian-based distributions, it can be installed as follows:

sudo apt-get update
sudo apt-get install build-essential

Using source from crates.io

Garage's source code is published on crates.io, Rust's official package repository. This means you can simply ask cargo to download and build this source code for you:

cargo install garage

That's all, garage should be in $HOME/.cargo/bin.

You can add this folder to your $PATH or copy the binary somewhere else on your system. For instance:

sudo cp $HOME/.cargo/bin/garage /usr/local/bin/garage

Using source from the Gitea repository

The primary location for Garage's source code is the Gitea repository.

Clone the repository and build Garage with the following commands:

git clone https://git.deuxfleurs.fr/Deuxfleurs/garage.git
cd garage
cargo build

Be careful, as this will make a debug build of Garage, which will be extremely slow! To make a release build, invoke cargo build --release (this takes much longer).

The binaries built this way are found in target/{debug,release}/garage.