Skip to main content

Installation

Task offers many installation methods. Check out the available methods below.

Package Managers

Homebrew

If you're on macOS or Linux and have Homebrew installed, getting Task is as simple as running:

brew install go-task/tap/go-task

The above Formula is maintained by ourselves.

Recently, Task was also made available on the official Homebrew repository, so you also have that option if you prefer:

brew install go-task

pkgx

If you're on macOS or Linux and have pkgx installed, getting Task is as simple as running:

pkgx task

or, if you have pkgx integration enabled:

task

This installation method is community owned. After a new release of Task, they are automatically released by pkgx in a minimum of time.

Snap

Task is available in Snapcraft, but keep in mind that your Linux distribution should allow classic confinement for Snaps to Task work right:

sudo snap install task --classic

Chocolatey

If you're on Windows and have Chocolatey installed, getting Task is as simple as running:

choco install go-task

This installation method is community owned.

Scoop

If you're on Windows and have Scoop installed, getting Task is as simple as running:

scoop install task

This installation method is community owned. After a new release of Task, it may take some time until it's available on Scoop.

AUR

If you're on Arch Linux you can install Task from AUR using your favorite package manager such as yay, pacaur or yaourt:

yay -S go-task-bin

Alternatively, there's this package which installs from the source code instead of downloading the binary from the releases page:

yay -S go-task

This installation method is community owned.

Fedora

If you're on Fedora Linux you can install Task from the official Fedora repository using dnf:

sudo dnf install go-task

This installation method is community owned. After a new release of Task, it may take some time until it's available in Fedora.

Nix

If you're on NixOS or have Nix installed you can install Task from nixpkgs:

nix-env -iA nixpkgs.go-task

This installation method is community owned. After a new release of Task, it may take some time until it's available in nixpkgs.

npm

You can also use Node and npm to install Task by installing this package.

npm install -g @go-task/cli

Winget

If you are using Windows and installed the winget package management tool, you can install Task from winget-pkgs.

winget install Task.Task

Pacstall

If you are using Debian or Ubuntu, and have Pacstall installed, you can install Task by running:

pacstall -I go-task-deb

This installation method is community owned. After a new release of Task, it may take some time until it's available in Pacstall.

Get The Binary

Binary

You can download the binary from the releases page on GitHub and add to your $PATH.

DEB and RPM packages are also available.

The task_checksums.txt file contains the SHA-256 checksum for each file.

Install Script

We also have an install script which is very useful in scenarios like CI. Many thanks to GoDownloader for enabling the easy generation of this script.

By default, it installs on the ./bin directory relative to the working directory:

sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d

It is possible to override the installation directory with the -b parameter. On Linux, common choices are ~/.local/bin and ~/bin to install for the current user or /usr/local/bin to install for all users:

sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/bin
caution

On macOS and Windows, ~/.local/bin and ~/bin are not added to $PATH by default.

By default, it installs the latest version available. You can also specify a tag (available in releases) to install a specific version:

sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d v3.36.0

GitHub Actions

If you want to install Task in GitHub Actions you can try using this action by the Arduino team:

- name: Install Task
uses: arduino/setup-task@v2
with:
version: 3.x
repo-token: ${{ secrets.GITHUB_TOKEN }}

This installation method is community owned.

Build From Source

Go Modules

Ensure that you have a supported version of Go properly installed and setup. You can find the minimum required version of Go in the go.mod file.

You can then install the latest release globally by running:

go install github.com/go-task/task/v3/cmd/task@latest

Or you can install into another directory:

env GOBIN=/bin go install github.com/go-task/task/v3/cmd/task@latest
tip

For CI environments we recommend using the install script instead, which is faster and more stable, since it'll just download the latest released binary.

Setup completions

Download the autocompletion file corresponding to your shell.

All completions are available on the Task repository.

Bash

First, ensure that you installed bash-completion using your package manager.

Make the completion file executable:

chmod +x path/to/task.bash

After, add this to your ~/.bash_profile:

source path/to/task.bash

ZSH

Put the _task file somewhere in your $FPATH:

mv path/to/_task /usr/local/share/zsh/site-functions/_task

Ensure that the following is present in your ~/.zshrc:

autoload -U compinit
compinit -i

ZSH version 5.7 or later is recommended.

Fish

Move the task.fish completion script:

mv path/to/task.fish ~/.config/fish/completions/task.fish

PowerShell

Open your profile script with:

mkdir -Path (Split-Path -Parent $profile) -ErrorAction SilentlyContinue
notepad $profile

Add the line and save the file:

Invoke-Expression -Command path/to/task.ps1