--- slug: /installation/ sidebar_position: 2 --- # Instalação Há muitas maneiras possíveis de se instalar o Task. Confira os métodos disponíveis abaixo. ## Gerenciador de Pacotes ### Homebrew Se você estiver no macOS ou Linux e tiver o [Homebrew][homebrew] instalado, instalar o Task é tão simples quanto rodar: ```bash brew install go-task/tap/go-task ``` A fórmula acima é [mantida por nós mesmos](https://github.com/go-task/homebrew-tap/blob/master/Formula/go-task.rb). Recentemente, o Task também foi disponibilizado [no repositório oficial do Homebrew](https://formulae.brew.sh/formula/go-task), então você também tem essa opção, se preferir: ```bash brew install go-task ``` ### Tea If you're on macOS or Linux and have [tea][tea] installed, getting Task is as simple as running: ```bash tea task ``` or, if you have tea’s magic enabled: ```bash task ``` Este método de instalação é mantido pela comunidade. After a new release of Task, they are automatically released by tea in a minimum of time. ### Snap O Task está disponível no [Snapcraft][snapcraft], mas tenha em mente que a sua distribuição Linux deve suportar confinamento clássico (*classic confinement*) para Snaps para o Task funcionar corretamente: ```bash sudo snap install task --classic ``` ### Chocolatey Se você estiver no Windows e tiver o [Chocolatey][choco] instalado, instalar o Task é tão simples quanto rodar: ```bash choco install go-task ``` Este método de instalação é mantido pela comunidade. ### Scoop Se você está no Windows e tem o [Scoop][scoop] instalado, instalar o Task é tão simples quanto rodar: ```cmd scoop install task ``` This installation method is community owned. Após o lançamento de uma nova versão do Task, pode levar algum tempo até que esteja disponível no Scoop. ### AUR Se você estiver no Arch Linux, você pode instalar o Task a partir do [AUR](https://aur.archlinux.org/packages/go-task-bin) usando o seu gerenciador de pacotes favorito, como `yay`, `pacauro` ou `yaourt`: ```cmd yay -S go-task-bin ``` Alternativamente, há [este pacote](https://aur.archlinux.org/packages/go-task) que instala do código fonte ao invés de baixar o binário [do GitHub](https://github.com/go-task/task/releases): ```cmd yay -S go-task ``` Este método de instalação é mantido pela comunidade. ### Fedora Se você estiver no Fedora Linux, você pode instalar o Task do [repositório oficial do Fedora](https://packages.fedoraproject.org/pkgs/golang-github-task/go-task/) usando `dnf`: ```cmd sudo dnf install go-task ``` Este método de instalação é mantido pela comunidade. Após o lançamento de uma nova versão do Task, pode levar algum tempo até que ela esteja disponível no [Fedora](https://packages.fedoraproject.org/pkgs/golang-github-task/go-task/). ### Nix Se você estiver no NixOS ou tiver o Nix instalado, você pode instalar o Task a partir do [nixpkgs](https://github.com/NixOS/nixpkgs): ```cmd nix-env -iA nixpkgs.go-task ``` Este método de instalação é mantido pela comunidade. Após o lançamento de uma nova versão do Task, pode levar algum tempo até que ela esteja disponível em [nixpkgs](https://github.com/NixOS/nixpkgs). ### npm Você também pode usar o Node e o npm para instalar o Task instalando [este pacote](https://www.npmjs.com/package/@go-task/cli). ```bash npm install -g @go-task/cli ``` ### Winget Se você estiver usando o Windows e instalando a ferramenta de gerenciamento de pacotes [winget](https://github.com/microsoft/winget-cli), você pode instalar o Task a partir de [winget-pkgs](https://github.com/microsoft/winget-pkgs). ```bash winget install Task.Task ``` ## Baixe o Binário ### Binário Você pode baixar o binário da [página de versões no GitHub][releases] e adicionar a sua variável de ambiente `$PATH`. Os pacotes DEB e RPM também estão disponíveis. O arquivo `task_checksums.txt` contém a *checksum* SHA-256 para cada arquivo. ### Script de instalação Também temos um [script de instalação][installscript] que é muito útil em cenários, como CI. Muito obrigado ao [GoDownloader][godownloader] por permitir a geração fácil deste script. Por padrão, o binário será baixado no diretório `./bin` em relação ao diretório atual: ```bash sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d ``` É possível substituir o diretório de instalação com o parâmetro `-b`. No Linux, escolhas comuns são `~/.local/bin` e `~/bin` para instalar para o usuário ou `/usr/local/bin` para instalar para todos os usuários: ```bash sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/bin ``` :::caution No macOS e Windows, `~/.local/bin` e `~/bin` não são adicionados ao `$PATH` por padrão. ::: ### GitHub Actions Se você quiser instalar o Task no GitHub Actions você pode tentar usar [esta *action*](https://github.com/arduino/setup-task) pela equipe do Arduino: ```yaml - name: Install Task uses: arduino/setup-task@v1 with: version: 3.x repo-token: ${{ secrets.GITHUB_TOKEN }} ``` This installation method is community owned. ## Compilar do código-fonte ### Go Modules Certifique-se de que você tem uma versão suportada do [Go][go] corretamente instalado e configurado. Você pode encontrar a versão mínima necessária do Go no arquivo [go.mod](https://github.com/go-task/task/blob/main/go.mod#L3). Você pode então instalar a última versão globalmente ao rodar: ```bash go install github.com/go-task/task/v3/cmd/task@latest ``` Ou você pode instalar em outro diretório rodando: ```bash env GOBIN=/bin go install github.com/go-task/task/v3/cmd/task@latest ``` :::tip Para ambientes com CI, recomendamos usar o [script de instalação](#install-script), que é mais rápido e mais estável, já que ele apenas baixará o último binário lançado. ::: ## Configurar *auto-complete* de terminal Baixe o arquivo de *auto-completion* correspondente ao seu terminal. [Todos os scripts de *completion* estão disponíveis no repositório do Task](https://github.com/go-task/task/tree/main/completion). ### Bash Primeiro, certifique-se de que você instalou o *bash-completion* usando seu gerenciador de pacotes. Torne o arquivo de *completion* executável: ``` chmod +x path/to/task.bash ``` Depois, adicione isto ao seu `~/.bash_profile`: ```shell source path/to/task.bash ``` ### ZSH Coloque o arquivo `_task` em algum lugar no seu `$FPATH`: ```shell mv path/to/_task /usr/local/share/zsh/site-functions/_task ``` Certifique-se de que o seguinte esteja presente em seu `~/.zshrc`: ```shell autoload -U compinit compinit -i ``` Recomenda-se ZSH versão 5.7 ou posterior. ### Fish Mova o script de *completion* `task.fish`: ```shell mv path/to/task.fish ~/.config/fish/completions/task.fish ``` ### PowerShell Abra seu *profile script* rodando: ``` mkdir -Path (Split-Path -Parent $profile) -ErrorAction SilentlyContinue notepad $profile ``` Adicione a seguinte linha e salve o arquivo: ```shell Invoke-Expression -Command path/to/task.ps1 ``` [go]: https://golang.org/ [snapcraft]: https://snapcraft.io/task [homebrew]: https://brew.sh/ [installscript]: https://github.com/go-task/task/blob/main/install-task.sh [releases]: https://github.com/go-task/task/releases [godownloader]: https://github.com/goreleaser/godownloader [choco]: https://chocolatey.org/ [scoop]: https://scoop.sh/ [tea]: https://tea.xyz/