--- layout: docs page_title: Installing Nomad sidebar_title: Installing Nomad description: Learn how to install Nomad. --- # Installing Nomad Nomad is available as a pre-compiled binary or as a package for several operating systems. You can also [build Nomad from source](#from-source). -> If you are interested in trialing Nomad without installing it locally, see the [Quickstart](/docs/install/quickstart) for options to get started with Nomad. You can download a [precompiled binary](/downloads) and run it on your machine locally. You can also verify the binary using the available SHA-256 sums. After downloading Nomad, unzip the package. Make sure that the `nomad` binary is available on your `PATH` before continuing with the other guides. You can check the locations available on your path by running this command. ```shell-session $ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin ``` The output is a list of locations separated by colons. You can make Nomad available by moving the binary to one of the listed locations, or by adding Nomad's location to your `PATH`. -> **Tip (Linux-based or Mac):** Permanently add a new location to your path by editing your shell's settings file (usually called something like `~/.bashrc`, where the part of the file name after the `.` and before `rc` is the name of your shell). In that file you will see a line that starts with `export PATH=`, followed by a colon-separated list of locations. Add the location of the Consul binary to that list and save the file. Then reload your shell's configuration with the command `source ~/.bashrc`, replacing `bash` with the name of your shell. -> **Tip (Windows):** Add a location to your path via the GUI by navigating to `Environment Variables` in your system settings, and looking for the variable called `PATH`. You will see a semicolon-separated list of locations. Add the Nomad binary's location to that list and then launch a new console window. HashiCorp officially maintains and signs packages for the following Linux distributions. Add the HashiCorp [GPG key][gpg-key]. ```shell-session $ curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add - ``` Add the official HashiCorp Linux repository. ```shell-session $ sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main" ``` Update and install. ```shell-session $ sudo apt-get update && sudo apt-get install nomad ``` Install `yum-config-manager` to manage your repositories. ```shell-session $ sudo yum install -y yum-utils ``` Use `yum-config-manager` to add the official HashiCorp Linux repository. ```shell-session $ sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo ``` Install. ```shell-session $ sudo yum -y install nomad ``` Install `dnf config-manager` to manage your repositories. ```shell-session $ sudo dnf install -y dnf-plugins-core ``` Use `dnf config-manager` to add the official HashiCorp Linux repository. ```shell-session $ sudo dnf config-manager --add-repo https://rpm.releases.hashicorp.com/fedora/hashicorp.repo ``` Install. ```shell-session $ sudo dnf -y install nomad ``` Install `yum-config-manager` to manage your repositories. ```shell-session $ sudo yum install -y yum-utils ``` Use `yum-config-manager` to add the official HashiCorp Linux repository. ```shell-session $ sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo ``` Install. ```shell-session $ sudo yum -y install nomad ``` -> **TIP:** Now that you have added the HashiCorp repository, you can install [Consul](https://learn.hashicorp.com/consul) and [Vault](https://learn.hashicorp.com/vault) with the same command. [Homebrew](https://brew.sh) is a free and open-source package management system for macOS. Install the [Nomad formula](https://formulae.brew.sh/formula/nomad) from the terminal. ```shell-session $ brew install nomad ``` ~> **NOTE:** Homebrew and the Nomad formula are **NOT** directly maintained by HashiCorp. The latest version of Nomad is always available by manual installation. ~> **NOTE**: On macOS, machines without a Java environment installed will be prompted to install Java because of a [known issue—#7865][gh-7865]. The linked GitHub issue has workarounds for this issue. [Chocolatey](https://chocolatey.org/) is a free and open-source package management system for Windows. Install the [Nomad package](https://chocolatey.org/packages/nomad) from the command-line. ```shell-session $ choco install nomad ``` ~> **NOTE:** Chocolatey and the Nomad package are **NOT** directly maintained by HashiCorp. The latest version of Nomad is always available by manual installation. --- ## Verify the Installation To verify Nomad was installed correctly, try the `nomad` command. ```shell-session $ nomad ``` You should see help output, similar to the following. ```plaintext Usage: nomad [-version] [-help] [-autocomplete-(un)install] [args] Common commands: run Run a new job or update an existing job stop Stop a running job status Display the status output for a resource alloc Interact with allocations job Interact with jobs node Interact with nodes agent Runs a Nomad agent Other commands: acl Interact with ACL policies and tokens agent-info Display status information about the local agent deployment Interact with deployments eval Interact with evaluations exec Execute commands in task monitor Stream logs from a Nomad agent namespace Interact with namespaces operator Provides cluster-level tools for Nomad operators quota Interact with quotas sentinel Interact with Sentinel policies server Interact with servers system Interact with the system API ui Open the Nomad Web UI version Prints the Nomad version ``` --- ## Compiling from Source ((#from-source)) To compile from source, you will need [Go](https://golang.org) installed and configured properly (including a `GOPATH` environment variable set), as well as a copy of [`git`](https://www.git-scm.com/) in your `PATH`. 1. Clone the Nomad repository from GitHub into your `GOPATH`: ```shell-session $ mkdir -p $GOPATH/src/github.com/hashicorp && cd $_ $ git clone https://github.com/hashicorp/nomad.git $ cd nomad ``` 1. Bootstrap the project. This will download and compile libraries and tools needed to compile Nomad: ```shell-session $ make bootstrap ``` 1. Build Nomad for your current system and put the binary in `./bin/` (relative to the git checkout). The `make dev` target is just a shortcut that builds `nomad` for only your local build environment (no cross-compiled targets). ```shell-session $ make dev ``` [consul-dev]: https://learn.hashicorp.com/consul/getting-started/agent#starting-the-agent [consul-download]: https://www.consul.io/downloads [destroy]: https://www.vagrantup.com/docs/cli/destroy [gh-7865]: https://github.com/hashicorp/nomad/issues/7865 [gpg-key]: https://apt.releases.hashicorp.com/gpg 'HashiCorp GPG key'