Skip to main content

Installation

info

The Dagger CLI is available for installation on macOS, Linux, and Windows to run locally or in a CI environment.

Install the Dagger CLI following the steps below.

We assume that you have Homebrew installed. If you do, you can install dagger with a single command:

brew install dagger/tap/dagger
note

This installs dagger in:

type dagger
# Expected output on macOS ARM:
# dagger is /opt/homebrew/bin/dagger
# Expected output on macOS Intel:
# dagger is /usr/local/bin/dagger

If you do not have Homebrew installed, you can use install.sh:

curl -fsSL https://dl.dagger.io/dagger/install.sh | BIN_DIR=/usr/local/bin sh

If your user account doesn't have sufficient privileges to install in /usr/local and sudo is available, you can set BIN_DIR and use sudo -E:

curl -fsSL https://dl.dagger.io/dagger/install.sh | BIN_DIR=/usr/local/bin sudo -E sh

If you want to set a specific version, you can set DAGGER_VERSION:

curl -fsSL https://dl.dagger.io/dagger/install.sh | DAGGER_VERSION=0.15.1 BIN_DIR=/usr/local/bin sh

To see the installed version of dagger:

./bin/dagger version
# Expected output: dagger v0.15.1 (registry.dagger.io/engine:v0.15.1) darwin/amd64

Update

To update the Dagger CLI, use the same method that you originally used to install it. This will overwrite your currently-installed version with the latest (or specified) version.

Homebrew users can alternatively use the following commands:

brew update
brew upgrade dagger

Uninstallation

Remove the Dagger CLI using the following command:

sudo rm /usr/local/bin/dagger

Homebrew users can alternatively use the following command:

brew uninstall dagger

Next, remove the Dagger container using the following commands:

docker rm --force --volumes "$(docker ps --quiet --filter='name=^dagger-engine-')"

Finally, remove the dagger sub-directory of your local cache and configuration directories ($XDG_CACHE_HOME and $XDG_CONFIG_HOME on Linux or the equivalent for other platforms):

rm -rf ~/Library/Caches/dagger
rm -rf ~/Library/Application\ Support/dagger
note

The paths listed above are defaults and may require adjustment for your specific environment. The third-party packages Dagger uses to determine these paths are listed below:

Versioning

The Dagger CLI is released in tandem with the Dagger Engine and thus shares a version number with it. Dagger SDKs automatically provision a Dagger Engine at a compatible version.

The Dagger Engine runner is distributed as a container image at registry.dagger.io/engine. Tags are made for the version of each release. For example, the 0.15.1 release has a corresponding image at registry.dagger.io/engine:v0.15.1.

Each release notes the compatible Dagger Engine version in its release notes.