1
0
mirror of https://github.com/go-task/task.git synced 2024-12-14 10:52:43 +02:00
task/docs/installation.md

143 lines
3.4 KiB
Markdown
Raw Normal View History

2018-09-22 23:44:24 +02:00
# Installation
Task offers many installation methods. Check out the available methods below.
2018-09-22 23:44:24 +02:00
## Package Managers
2018-09-22 23:44:24 +02:00
<!-- tabs:start -->
#### **Homebrew**
2018-09-22 23:44:24 +02:00
If you're on macOS or Linux and have [Homebrew][homebrew] installed, getting
Task is as simple as running:
2018-09-22 23:44:24 +02:00
```bash
brew install go-task/tap/go-task
```
#### **Snap**
2018-09-22 23:44:24 +02:00
Task is available in [Snapcraft][snapcraft], but keep in mind that your
2018-09-22 23:44:24 +02:00
Linux distribution should allow classic confinement for Snaps to Task work
right:
```bash
sudo snap install task --classic
2018-09-22 23:44:24 +02:00
```
#### **Scoop**
If you're on Windows and have [Scoop][scoop] installed, use `extras` bucket
to install Task like:
```cmd
scoop bucket add extras
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**
2020-01-25 14:44:55 +02:00
If you're on Arch Linux you can install Task from
[AUR](https://aur.archlinux.org/packages/taskfile-git) using your favorite
package manager such as `yay`, `pacaur` or `yaourt`:
```cmd
yay -S taskfile-git
```
This installation method is community owned, but since it's `-git` version of
the package, it's always latest available version based on the Git repository.
2020-01-25 14:44:55 +02:00
<!-- tabs:end -->
2018-10-07 23:34:03 +02:00
## Get The Binary
<!-- tabs:start -->
#### **Binary**
You can download the binary from the [releases page on GitHub][releases] 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**
2018-09-22 23:44:24 +02:00
We also have a [install script][installscript], which is very useful on
scenarios like CIs. Many thanks to [GoDownloader][godownloader] for allowing
2018-10-07 23:34:03 +02:00
easily generating this script.
2018-09-22 23:44:24 +02:00
```bash
# For Default Installion to ./bin with debug logging
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d
# For Installation To /usr/local/bin for userwide access with debug logging
# May require sudo sh
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin
2018-09-22 23:44:24 +02:00
```
2018-10-07 23:34:03 +02:00
> This method will download the binary on the local `./bin` directory by default.
2018-09-22 23:44:24 +02:00
#### **GitHub Actions**
If you want to install Task in GitHub Actions you can try using
[this action](https://github.com/arduino/actions/tree/master/setup-taskfile)
by the Arduino team:
```yaml
- name: Install Task
uses: Arduino/actions/setup-taskfile@master
```
This installation method is community owned.
<!-- tabs:end -->
## Build From Source
<!-- tabs:start -->
#### **Go Modules**
First, make sure you have [Go][go] properly installed and setup.
You can easily install it globally by running:
```bash
go get -u github.com/go-task/task/v3/cmd/task
```
Or you can install into another directory:
```bash
git clone https://github.com/go-task/task
cd task
# Compiling binary to $GOPATH/bin
go install -v ./cmd/task
# Compiling it to another location.
# Use -o ./task.exe on Windows.
go build -v -o ./task ./cmd/task
```
> For CI environments we recommend using the [Install Script](#get-the-binary)
> instead, which is faster and more stable, since it'll just download the latest
> released binary, instead of compiling the edge (master branch) version.
<!-- tabs:end -->
2018-10-07 23:34:03 +02:00
[go]: https://golang.org/
[snapcraft]: https://snapcraft.io/task
2018-09-22 23:44:24 +02:00
[homebrew]: https://brew.sh/
[installscript]: https://github.com/go-task/task/blob/master/install-task.sh
[releases]: https://github.com/go-task/task/releases
[godownloader]: https://github.com/goreleaser/godownloader
[scoop]: https://scoop.sh/