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
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
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​
Some installation methods will automatically install completions too, but if
this isn't working for you or your chosen method doesn't include them, you can
run task --completion <shell>
to output a completion script for any supported
shell. There are a couple of ways these completions can be added to your shell
config:
Option 1. Load the completions in your shell's startup config (Recommended)​
This method loads the completion script from the currently installed version of task every time you create a new shell. This ensures that your completions are always up-to-date.
- bash
- zsh
- fish
- powershell
eval "$(task --completion bash)"
eval "$(task --completion zsh)"
task --completion fish | source
Invoke-Expression (&task --completion powershell | Out-String)
Option 2. Copy the script to your shell's completions directory​
This method requires you to manually update the completions whenever Task is updated. However, it is useful if you want to modify the completions yourself.
- bash
- zsh
- fish
task --completion bash > /etc/bash_completion.d/task
task --completion zsh > /usr/local/share/zsh/site-functions/_task
task --completion fish > ~/.config/fish/completions/task.fish