mirror of
https://github.com/asdf-vm/asdf.git
synced 2024-11-15 01:28:17 -07:00
docs: translations for pt-br (#970)
This commit is contained in:
parent
79dc43fb5e
commit
7cc3b87528
@ -1,3 +1,4 @@
|
||||
- Translations
|
||||
- [:uk: English](/)
|
||||
- [:brazil: Português](/pt-br/)
|
||||
- [Add translation](contributing-doc-site?id=translations)
|
||||
|
@ -3,6 +3,7 @@
|
||||
import commands list from master branch of repo.
|
||||
not amenable to docs supporting git refs. Solution to be determined.
|
||||
-->
|
||||
|
||||
`asdf` or `asdf help` will list all available commands for your current asdf version.
|
||||
|
||||
[](https://raw.githubusercontent.com/asdf-vm/asdf/master/help.txt ':include')
|
||||
|
@ -30,10 +30,13 @@
|
||||
name: "asdf",
|
||||
repo: "https://github.com/asdf-vm/asdf",
|
||||
el: "#app",
|
||||
coverpage: true,
|
||||
coverpage: ['/', '/pt-br/'],
|
||||
loadNavbar: true,
|
||||
loadSidebar: true,
|
||||
notFoundPage: true,
|
||||
notFoundPage: {
|
||||
'/': '_404.md',
|
||||
'/pt-br/': '/pt-br/_404.md'
|
||||
},
|
||||
subMaxLevel: 2,
|
||||
auto2top: true,
|
||||
alias: {
|
||||
|
13
docs/pt-br/_404.md
Normal file
13
docs/pt-br/_404.md
Normal file
@ -0,0 +1,13 @@
|
||||
<h2 align="center">404</h2>
|
||||
|
||||
<div style="text-align:center">
|
||||
|
||||
Parece que estamos perdido! :sweat_smile:
|
||||
|
||||
Voltar para a [página inicial](/pt-br/).
|
||||
|
||||
Se estiver perdido novamente, [grite por ajuda ](https://github.com/asdf-vm/asdf/issues/new) :mega:
|
||||
|
||||
Se você está aqui por causa de uma página ou tradução faltando, [pense em contribuir ](contributing-doc-site) :two_hearts:
|
||||
|
||||
</div>
|
14
docs/pt-br/_coverpage.md
Normal file
14
docs/pt-br/_coverpage.md
Normal file
@ -0,0 +1,14 @@
|
||||
<!-- ![logo](_media.asdf-logo.svg) -->
|
||||
|
||||
# asdf
|
||||
|
||||
> Gerencie múltiplas versões com um simples CLI
|
||||
|
||||
<!-- insert asciinema or other gif here -->
|
||||
|
||||
- Bash, Zsh, Fish
|
||||
- Node.js, Ruby, Python, Elixir ... [qual sua linguagem favorita?](plugins-all?id=plugin-list)
|
||||
- Extensivo com um simples sistema de plugins
|
||||
|
||||
[GitHub](https://github.com/asdf-vm/asdf)
|
||||
[Começar](/pt-br/core-manage-asdf)
|
4
docs/pt-br/_navbar.md
Normal file
4
docs/pt-br/_navbar.md
Normal file
@ -0,0 +1,4 @@
|
||||
- Tradução
|
||||
- [:uk: English](/)
|
||||
- [:brazil: Português](/pt-br/)
|
||||
- [Adicionar tradução](/pt-br/contributing-doc-site?id=translations)
|
20
docs/pt-br/_sidebar.md
Normal file
20
docs/pt-br/_sidebar.md
Normal file
@ -0,0 +1,20 @@
|
||||
<!-- docs/_sidebar.md -->
|
||||
|
||||
- **Núcleo**
|
||||
- [Gerenciar asdf](/pt-br/core-manage-asdf)
|
||||
- [Gerenciar Plugins](/pt-br/core-manage-plugins)
|
||||
- [Gerenciar Versões](/pt-br/core-manage-versions)
|
||||
- [Configuração](/pt-br/core-configuration)
|
||||
- [Todos os comandos](/pt-br/core-commands)
|
||||
- [Alterações](/pt-br/changelog) <!-- pulls in changelog from repo -->
|
||||
- **Plugins**
|
||||
- [Criar Plugins](/pt-br/plugins-create)
|
||||
- [Todos os Plugins](/pt-br/plugins-all) <!-- pulls in asdf-vm/asdf-plugins readme -->
|
||||
- **Contribuições**
|
||||
- [Núcleo asdf](/pt-br/contributing-core-asdf)
|
||||
- [Documentação](/pt-br/contributing-doc-site)
|
||||
- [Agradecimentos](/pt-br/thanks)
|
||||
- **Comunidade & Questões**
|
||||
- [![GitHub Issues](https://icongr.am/simple/github.svg?color=808080&size=16) GitHub Issues](https://github.com/asdf-vm/asdf/issues)
|
||||
- [![GitHub Discussions](https://icongr.am/simple/github.svg?color=808080&size=16) GitHub Discussions](https://github.com/asdf-vm/asdf/discussions)
|
||||
- [![StackOverflow Tag](https://icongr.am/fontawesome/stack-overflow.svg?size=16&color=808080) StackOverflow Tag](https://stackoverflow.com/questions/tagged/asdf-vm)
|
20
docs/pt-br/contributing-core-asdf.md
Normal file
20
docs/pt-br/contributing-core-asdf.md
Normal file
@ -0,0 +1,20 @@
|
||||
## Desenvolvimento
|
||||
|
||||
Para desenvolver o projeto, use `git clone` na _master branch_.
|
||||
|
||||
Se você quiser experimentar suas mudanças sem fazer alterações em seu `asdf` instalado, você pode definir a variável `$ ASDF_DIR` para o caminho onde você clonou o repositório, e adicionar temporariamente o diretório `bin` e `shims`.
|
||||
|
||||
Ferramentas que usamos:
|
||||
|
||||
- [bats](https://github.com/bats-core/bats-core) para testes. Certificar-se de que `bats test /` passa nos testes após você fazer suas alterações.
|
||||
- [Shellcheck](https://github.com/koalaman/shellcheck) para análise estática dos scripts shell.
|
||||
|
||||
## Imagem Docker
|
||||
|
||||
Os projetos [asdf-alpine] [asdf-alpine] e [asdf-ubuntu] [asdf-ubuntu] são um
|
||||
esforço contínuo para fornecer imagens docker de algumas ferramentas asdf. Você pode usar
|
||||
essas imagens docker como base para seus servidores de desenvolvimento, ou para executar seu
|
||||
aplicativos em produção.
|
||||
|
||||
[asdf-alpine]: https://github.com/vic/asdf-alpine
|
||||
[asdf-ubuntu]: https://github.com/vic/asdf-ubuntu
|
69
docs/pt-br/contributing-doc-site.md
Normal file
69
docs/pt-br/contributing-doc-site.md
Normal file
@ -0,0 +1,69 @@
|
||||
## Melhorias
|
||||
|
||||
Aqui está uma lista de melhorias que estamos tentando fazer na documentação. Se você deseja contribuir, de uma olhadinha nisso:
|
||||
|
||||
- customise the docsify theme
|
||||
- cover-page background image
|
||||
- cover-page/readme gif of a terminal using asdf showing it's features (automatic version switching, .tool-versions with multiple runtime configs)
|
||||
- custom doc site domain
|
||||
- change the typography
|
||||
- get a logo?
|
||||
- improve "edit on GitHub" button/link
|
||||
- add asdf to awesome-docsify showcase
|
||||
|
||||
## Configure seu ambiente
|
||||
|
||||
Estamos usando:
|
||||
|
||||
- [Node.js](https://github.com/asdf-vm/asdf-nodejs) `v10.15.0` para dar suporte as outras ferramentas necessárias
|
||||
- [docsify](https://docsify.js.org/#/) para criar a documentação
|
||||
- [prettier](https://prettier.io/) para formatar arquivos de _markdown_ (.md)
|
||||
|
||||
### Instalar dependências
|
||||
|
||||
Estamos tentando **evitar poluir** o repositório central com ferramentas para esta documentação. Sendo assim, seria ótimo se você pudesse instalar essas ferramentas de desenvolvimento **globalmente** para não comprometê-las com este projeto.
|
||||
|
||||
```shell
|
||||
npm i docsify-cli prettier -g
|
||||
```
|
||||
|
||||
## Subir servidor
|
||||
|
||||
Execute na raiz do projeto:
|
||||
|
||||
```shell
|
||||
docsify serve docs
|
||||
```
|
||||
|
||||
## Formatar arquivos
|
||||
|
||||
Execute na raiz do projeto:
|
||||
|
||||
```shell
|
||||
prettier --write "docs/**/*.md"
|
||||
```
|
||||
|
||||
## Traduções
|
||||
|
||||
Seria ótimo fornecer traduções para outros idiomas.
|
||||
|
||||
O Docsify torna a adição de novos idiomas bastante fácil. Veja em `docs/index.html` para exemplos de `zh-cn`.
|
||||
|
||||
### Adicionar uma nova tradução
|
||||
|
||||
1. Crie uma pasta dentro do `docs/` para adicionar sua nova tradução
|
||||
```
|
||||
docs/
|
||||
docs/zh-cn/
|
||||
```
|
||||
2. copie o arquivo `docs/_404.md` para sua nova pasta `docs/zh-cn/_404.md`
|
||||
```
|
||||
docs/_404.md
|
||||
docs/zh-cn/_404.md
|
||||
```
|
||||
3. troque o texto com a sua tradução.
|
||||
4. repita o processo para todos os arquivos.
|
||||
5. adicione o _link_ da sua tradução em `_navbar.md`.
|
||||
6. execute o `prettier` antes de fazer o _commit_ das alterações.
|
||||
|
||||
Para mais informações veja em [configurações do docsify](https://docsify.js.org/#/configuration), para [barra lateral (navbar)](https://docsify.js.org/#/custom-navbar), verifique o `index.html` e [campo de pesquisa](https://github.com/docsifyjs/docsify/blob/6ac7bace213145cb655e9a5e9e209384db08e5f9/docs/index.html#L48).
|
9
docs/pt-br/core-commands.md
Normal file
9
docs/pt-br/core-commands.md
Normal file
@ -0,0 +1,9 @@
|
||||
<!--
|
||||
single source of truth.
|
||||
import commands list from master branch of repo.
|
||||
not amenable to docs supporting git refs. Solution to be determined.
|
||||
-->
|
||||
|
||||
`asdf` ou `asdf help` para listar todos os comandos disponíveis para sua versão.
|
||||
|
||||
[](https://raw.githubusercontent.com/asdf-vm/asdf/master/help.txt ':include')
|
56
docs/pt-br/core-configuration.md
Normal file
56
docs/pt-br/core-configuration.md
Normal file
@ -0,0 +1,56 @@
|
||||
## .tool-versions
|
||||
|
||||
Sempre que o arquivo `.tool-versions` estiver presente em um diretório, as versões da ferramenta que ele declara serão usadas nesse diretório e em seus subdiretórios.
|
||||
|
||||
?> Configurações globais podem ser modificadas no arquivo `$HOME/.tool-versions`
|
||||
|
||||
O arquivo `.tool-versions` se parece assim:
|
||||
|
||||
```
|
||||
ruby 2.5.3
|
||||
nodejs 10.15.0
|
||||
```
|
||||
|
||||
As versões podem estar no seguinte formato:
|
||||
|
||||
- `10.15.0` - uma versão real. Os plugins que suportam o download de binários farão o download de binários.
|
||||
- `ref:v1.0.2-a` ou `ref:39cb398vb39` - _tag/commit/branch_ para download pelo github e compilação
|
||||
um path costumizado e compi
|
||||
- `path:/src/elixir` - um path para uma versão compilada e personalizada de uma ferramenta pronta para usar. Para uso por linguagens de desenvolvimento e outros.
|
||||
- `system` - faz com que asdf passe para a versão da ferramenta no sistema que não é gerenciada por asdf .
|
||||
|
||||
Várias versões podem ser definidas, separando-as com um espaço. Por exemplo, para usar Python 3.7.2, e também Python 2.7.15, use a linha abaixo em seu arquivo `.tool-versions`.
|
||||
|
||||
```
|
||||
python 3.7.2 2.7.15 system
|
||||
```
|
||||
|
||||
Para instalar todas as ferramentas definidas em `.tool-versions`, execute o camando `asdf install` sem argumentos no mesmo diretório de `.tool-versions`.
|
||||
|
||||
Para isntalar somente uma ferramenta definida em `.tool-versions`, execute o camando `asdf install` sem argumentos no mesmo diretório de `.tool-versions`. A ferramenta será instalada na versão especificada no arquivo `.tool-versions`.
|
||||
|
||||
Edite o arquivo diretamente no diretório ou use `asdf local` (ou `asdf global`) para atualiza-lo.
|
||||
|
||||
## \$HOME/.asdfrc
|
||||
|
||||
Adicione um arquivo `.asdfrc` ao seu diretório home e asdf usará as configurações especificadas no arquivo. O arquivo deve ser formatado assim:
|
||||
|
||||
```
|
||||
legacy_version_file = yes
|
||||
```
|
||||
|
||||
**Configurações**
|
||||
|
||||
- `legacy_version_file` - por padrão é `no`. Se definido como `yes`, fará com que os plug-ins que suportam esse recurso leiam os arquivos de versão usados por outros gerenciadores de versão (por exemplo, `.ruby-version` no caso do ` rbenv` do Ruby).
|
||||
- `use_release_candidates` - por padrão é `no`. Se definido como `yes`, fará com que o comando `asdf update` atualize para o mais recente em vez da versão semântica mais recente.
|
||||
|
||||
- `always_keep_download` - por padrão é `no`. Se definido como `yes`, fará com que o ` asdf install` sempre mantenha o código-fonte ou binário baixado. Se definido como `no`, o código fonte ou binário baixado por ` asdf install` será excluído após a instalação bem sucedida.
|
||||
|
||||
- `plugin_repository_last_check_duration` - por padrão é `60` min (1 hrs). Ele define a duração da última verificação do repositório de plugins asdf. Quando o comando `asdf plugin add <nome>`, `asdf plugin list all` for executado, ele verificará a duração da última atualização para atualizar o repositório. Se definido como `0`, ele atualizará o repositório de plugins asdf todas as vezes.
|
||||
|
||||
## Variáveis de ambiente
|
||||
|
||||
- `ASDF_CONFIG_FILE` - O padrão é `~ / .asdfrc` conforme descrito acima. Pode ser definido para qualquer local.
|
||||
- `ASDF_DEFAULT_TOOL_VERSIONS_FILENAME` - O nome do arquivo que armazena os nomes e versões das ferramentas. O padrão é `.tool-versions`. Pode ser qualquer nome de arquivo válido. Normalmente você não deve substituir o valor padrão, a menos que deseja que o asdf ignore os arquivos `.tool-versions`.
|
||||
- `ASDF_DIR` - O padrão é `~/.asdf` - Localização dos arquivos `asdf`. Se você instalar `asdf` em algum outro diretório, defina-o para esse diretório. Por exemplo, se você estiver instalando através do AUR, você deve definir isso para `/ opt / asdf-vm`.
|
||||
- `ASDF_DATA_DIR` - O padrão é `~/.asdf` - Local onde `asdf` instala plugins, correções e instalações. Pode ser definido para qualquer local antes de fornecer `asdf.sh` ou` asdf.fish` mencionado na seção acima.
|
634
docs/pt-br/core-manage-asdf.md
Normal file
634
docs/pt-br/core-manage-asdf.md
Normal file
@ -0,0 +1,634 @@
|
||||
1. [Gerenciar asdf](/pt-br/core-manage-asdf): instalar `asdf` **e** adicionar `asdf` ao seu shell
|
||||
2. [Gerenciar Plugins](/pt-br/core-manage-plugins): adicionar plugin para sua ferramenta `asdf plugin add nodejs`
|
||||
3. [Gerenciar Versões](/pt-br/core-manage-versions): instalar uma versão da sua ferramenta `asdf install nodejs 13.14.0`
|
||||
4. [Configuração](/pt-br/core-configuration): configurações globais e de seu projeto em `.tool-versions`
|
||||
|
||||
## Instalar
|
||||
|
||||
### Dependências
|
||||
|
||||
<!-- select:start -->
|
||||
<!-- select-menu-labels: Sistema Operacional,Método de Instalação -->
|
||||
|
||||
#### -- Linux,Aptitude --
|
||||
|
||||
```shell
|
||||
sudo apt install curl git
|
||||
```
|
||||
|
||||
#### -- Linux,DNF --
|
||||
|
||||
```shell
|
||||
sudo dnf install curl git
|
||||
```
|
||||
|
||||
#### -- Linux,Pacman --
|
||||
|
||||
```shell
|
||||
sudo pacman -S curl git
|
||||
```
|
||||
|
||||
#### -- Linux,Zypper --
|
||||
|
||||
```shell
|
||||
sudo zypper install curl git
|
||||
```
|
||||
|
||||
#### -- macOS,Homebrew --
|
||||
|
||||
Dependências seram instaladas automaticamente pelo Homebrew.
|
||||
|
||||
#### -- macOS,Spack --
|
||||
|
||||
```shell
|
||||
spack install coreutils curl git
|
||||
```
|
||||
|
||||
### -- Docsify Select Default --
|
||||
|
||||
Não encontrado seleção para seu _Sistema Operacional_ e _Método de Instalação_. Por favor tente outra combinação.
|
||||
|
||||
<!-- select:end -->
|
||||
|
||||
### asdf
|
||||
|
||||
<!-- select:start -->
|
||||
<!-- select-menu-labels: Método de Instalação -->
|
||||
|
||||
### --Git--
|
||||
|
||||
Clone somente a _branch_ mais recente:
|
||||
|
||||
```shell
|
||||
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.8.1
|
||||
```
|
||||
|
||||
Alternativa, você pode clonar o repositório completo e verificar a _branch_ mais recente:
|
||||
|
||||
```shell
|
||||
git clone https://github.com/asdf-vm/asdf.git ~/.asdf
|
||||
cd ~/.asdf
|
||||
git checkout "$(git describe --abbrev=0 --tags)"
|
||||
```
|
||||
|
||||
### --Homebrew--
|
||||
|
||||
Seja a compatibilidade de `asdf` e Homebrew em [issues in #785](https://github.com/asdf-vm/asdf/issues/785).
|
||||
|
||||
Instalar usando o gerenciador de pacotes Homebrew:
|
||||
|
||||
```shell
|
||||
brew install asdf
|
||||
```
|
||||
|
||||
Para pegar as mudanças mais recentes, você pode mandar o Homebrew obter a _branch_ central do repositório:
|
||||
|
||||
```shell
|
||||
brew install asdf --HEAD
|
||||
```
|
||||
|
||||
### --Pacman--
|
||||
|
||||
Instalar usando `pacman`:
|
||||
|
||||
```shell
|
||||
git clone https://aur.archlinux.org/asdf-vm.git
|
||||
cd asdf-vm
|
||||
makepkg -si
|
||||
```
|
||||
|
||||
Ou use outro de sua preferência [AUR helper](https://wiki.archlinux.org/index.php/AUR_helpers)
|
||||
|
||||
<!-- select:end -->
|
||||
|
||||
### Adicionando ao seu Shell
|
||||
|
||||
<!-- select:start -->
|
||||
<!-- select-menu-labels: Sistema Operacional,Shell,Método de Instalação -->
|
||||
|
||||
#### --Linux,Bash,Git--
|
||||
|
||||
Adicione em seu `~/.bashrc`:
|
||||
|
||||
```shell
|
||||
. $HOME/.asdf/asdf.sh
|
||||
```
|
||||
|
||||
?> Adicione também em seu `.bashrc`:
|
||||
|
||||
```shell
|
||||
. $HOME/.asdf/completions/asdf.bash
|
||||
```
|
||||
|
||||
#### --Linux,Fish,Git--
|
||||
|
||||
Adicione em seu `~/.config/fish/config.fish`:
|
||||
|
||||
```shell
|
||||
source ~/.asdf/asdf.fish
|
||||
```
|
||||
|
||||
?> Execute o comando:
|
||||
|
||||
```shell
|
||||
mkdir -p ~/.config/fish/completions; and ln -s ~/.asdf/completions/asdf.fish ~/.config/fish/completions
|
||||
```
|
||||
|
||||
#### --Linux,ZSH,Git--
|
||||
|
||||
Adicione em seu `~/.zshrc`:
|
||||
|
||||
```shell
|
||||
. $HOME/.asdf/asdf.sh
|
||||
```
|
||||
|
||||
**Ou** use o ZSH Framework plugin descrito em [asdf para oh-my-zsh](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/asdf) para concluir sua configuração.
|
||||
|
||||
?> As configurações são completadas através do ZSH Framework `asdf` plugin ou pelas modificações feitas em `.zshrc`:
|
||||
|
||||
```shell
|
||||
# adicione ao seu fpath
|
||||
fpath=(${ASDF_DIR}/completions $fpath)
|
||||
# termine usando os comandos do ZSH's compinit
|
||||
autoload -Uz compinit
|
||||
compinit
|
||||
```
|
||||
|
||||
- Caso tiver usando uma costumização de `compinit`, garanta que seu `compinit` esteja dentro do arquivo `asdf.sh`
|
||||
- Caso tiver usando uma costumização de `compinit` e ZSH Framework, garanta que `compinit` esteja dentro do framework
|
||||
|
||||
!> Caso tiver usando ZSH Framework em conjunto com `asdf`, talvez seja necessário atualizar os complementos de ZSH no `fpath`. Para atualizar Oh-My-ZSH asdf plugin, seja em https://github.com/ohmyzsh/ohmyzsh/pull/8837.
|
||||
|
||||
#### --Linux,Bash,Pacman--
|
||||
|
||||
Adicione em seu `~/.bashrc`:
|
||||
|
||||
```shell
|
||||
. /opt/asdf-vm/asdf.sh
|
||||
```
|
||||
|
||||
?> [`bash-completion` needs to be installed for the completions to work](https://wiki.archlinux.org/title/bash#Common_programs_and_options)
|
||||
|
||||
#### --Linux,Fish,Pacman--
|
||||
|
||||
Adicione em seu `~/.config/fish/config.fish`:
|
||||
|
||||
```shell
|
||||
source /opt/asdf-vm/asdf.fish
|
||||
```
|
||||
|
||||
!> Os complementos são automaticamente configurados na instalação feita pelo pacote AUR.
|
||||
|
||||
#### --Linux,ZSH,Pacman--
|
||||
|
||||
Adicione em seu `~/.zshrc`:
|
||||
|
||||
```shell
|
||||
. /opt/asdf-vm/asdf.sh
|
||||
```
|
||||
|
||||
?> Os complementos são colocados em um local escolhido pelo ZHS, para mais [ZSH deve ser usado para configurações dos complementos](https://wiki.archlinux.org/index.php/zsh#Command_completion).
|
||||
|
||||
#### --macOS,Bash,Git--
|
||||
|
||||
Caso esteja usando **macOs Catalina ou mais recente**, por padrão o _shell_ é **ZSH**. Para voltar ao _Bash_ siga as instruções do ZSH.
|
||||
|
||||
Adicione em seu `~/.bash_profile`:
|
||||
|
||||
```shell
|
||||
. $HOME/.asdf/asdf.sh
|
||||
```
|
||||
|
||||
?> Os complementos precisam ser configurados manualmente em seu arquivo `.bash_profile`:
|
||||
|
||||
```shell
|
||||
. $HOME/.asdf/completions/asdf.bash
|
||||
```
|
||||
|
||||
#### --macOS,Fish,Git--
|
||||
|
||||
Adicione em seu `~/.config/fish/config.fish`:
|
||||
|
||||
```shell
|
||||
source ~/.asdf/asdf.fish
|
||||
```
|
||||
|
||||
?> Os complementos precisam ser configurados manualmente com esse comando:
|
||||
|
||||
```shell
|
||||
mkdir -p ~/.config/fish/completions; and cp ~/.asdf/completions/asdf.fish ~/.config/fish/completions
|
||||
```
|
||||
|
||||
#### --macOS,ZSH,Git--
|
||||
|
||||
Adicione em seu `~/.zshrc`:
|
||||
|
||||
```shell
|
||||
. $HOME/.asdf/asdf.sh
|
||||
```
|
||||
|
||||
**Ou** use ZSH Framework plugin descrito em [asdf para oh-my-zsh](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/asdf) que irá realizar as configurações.
|
||||
|
||||
?> Os complementos são conficurados usando ZSH Framework `asdf` plugin ou através do arquivo `.zshrc`:
|
||||
|
||||
```shell
|
||||
# adicione em seu fpath
|
||||
fpath=(${ASDF_DIR}/completions $fpath)
|
||||
# termine usando os comandos do ZSH's compinit
|
||||
autoload -Uz compinit
|
||||
compinit
|
||||
```
|
||||
|
||||
- Caso tiver usando uma costumização de `compinit`, garanta que seu `compinit` esteja dentro do arquivo `asdf.sh`
|
||||
- Caso tiver usando uma costumização de `compinit` e ZSH Framework, garanta que `compinit` esteja dentro do framework
|
||||
|
||||
!> Caso tiver usando ZSH Framework em conjunto com `asdf`, talvez seja necessário atualizar os complementos de ZSH no `fpath`. Para atualizar Oh-My-ZSH asdf plugin, seja em https://github.com/ohmyzsh/ohmyzsh/pull/8837.
|
||||
|
||||
#### --macOS,Bash,Homebrew--
|
||||
|
||||
Caso esteja usando **macOs Catalina ou mais recente**, por padrão o _shell_ é **ZSH**. Para voltar ao _Bash_ siga as instruções do ZSH.
|
||||
|
||||
Adicione `asdf.sh` ao seu `~/.bash_profile` usando:
|
||||
|
||||
```shell
|
||||
echo -e "\n. $(brew --prefix asdf)/asdf.sh" >> ~/.bash_profile
|
||||
```
|
||||
|
||||
?> Os complementos precisam [instruções de configuração do Homebrew](https://docs.brew.sh/Shell-Completion#configuring-completions-in-bash) ou usando:
|
||||
|
||||
```shell
|
||||
echo -e "\n. $(brew --prefix asdf)/etc/bash_completion.d/asdf.bash" >> ~/.bash_profile
|
||||
```
|
||||
|
||||
#### --macOS,Fish,Homebrew--
|
||||
|
||||
Adicione `asdf.fish` ao seu `~/.config/fish/config.fish` usando:
|
||||
|
||||
```shell
|
||||
echo -e "\nsource "(brew --prefix asdf)"/asdf.fish" >> ~/.config/fish/config.fish
|
||||
```
|
||||
|
||||
?> Os complementos são [manipulados pelo Homebrew para o Fish shell](https://docs.brew.sh/Shell-Completion#configuring-completions-in-fish). Legal!
|
||||
|
||||
#### --macOS,ZSH,Homebrew--
|
||||
|
||||
Adicione `asdf.sh` ao seu `~/.zshrc` usando:
|
||||
|
||||
```shell
|
||||
echo -e "\n. $(brew --prefix asdf)/asdf.sh" >> ${ZDOTDIR:-~}/.zshrc
|
||||
```
|
||||
|
||||
**Ou** use ZSH Framework plugin descrito em [asdf para oh-my-zsh](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/asdf) que irá realizar as configurações.
|
||||
|
||||
?> Os complementos são configurados pelo ZSH Framework `asdf` ou precisam [instruções de configuração do Homebrew](https://docs.brew.sh/Shell-Completion#configuring-completions-in-zsh)
|
||||
|
||||
Caso tiver usando ZSH Framework em conjunto com `asdf`, talvez seja necessário atualizar os complementos de ZSH no `fpath`. Para atualizar Oh-My-ZSH asdf plugin, seja em https://github.com/ohmyzsh/ohmyzsh/pull/8837.
|
||||
|
||||
### --Docsify Select Default--
|
||||
|
||||
!> O `Homebrew` `asdf` não possui testes no `Linux` feitos pelo time central do asdf. Por favor reporte os problemas para que possamos atualizar nossa documentação.
|
||||
|
||||
<!-- select:end -->
|
||||
|
||||
Reinicie seu _shell_ para que as mudanças no _PATH_ sejam efetivadas.
|
||||
|
||||
Esta tudo pronto para usar asdf 🎉
|
||||
|
||||
### Possui questionamentos?
|
||||
|
||||
Caso tenha questionamentos sobre seu _shell_ não detectadas em instalações mais recentes, pode ser que `asdf.sh` ou `asdf.fish` não iniciou o **BOTTOM** em seu arquivo de configuração `.bash_profile`, `.zshrc`, `config.fish`. É preciso do **AFETER** em seu `$PATH` e **AFTER** precisa estar em seu framework (oh-my-zsh etc).
|
||||
you have sourced your framework (oh-my-zsh etc).
|
||||
|
||||
### Migrando de ferramentas
|
||||
|
||||
Caso tenha migrado para outra ferramenta e precisar usar as arquivos de versão (ex: `.node-version` ou `.ruby-version`),
|
||||
olhe em seu `legacy_version_file` [marcação de seleção de configuração](core-configuration?id=homeasdfrc).
|
||||
|
||||
## Atualizar
|
||||
|
||||
<!-- select:start -->
|
||||
<!-- select-menu-labels: Método de Instalação -->
|
||||
|
||||
### -- Git --
|
||||
|
||||
```shell
|
||||
asdf update
|
||||
```
|
||||
|
||||
Caso queira as últimas mudanças, essas mudanças não estão incluídas na versão estável:
|
||||
|
||||
```shell
|
||||
asdf update --head
|
||||
```
|
||||
|
||||
### -- Homebrew --
|
||||
|
||||
```shell
|
||||
brew upgrade asdf
|
||||
```
|
||||
|
||||
### -- Pacman --
|
||||
|
||||
Obter manualmente um novo `PKGBUILD` e reconstruir ou usar suas preferências de AUR.
|
||||
|
||||
<!-- select:end -->
|
||||
|
||||
## Remover
|
||||
|
||||
Para desinstalar `asdf` siga os passos:
|
||||
|
||||
<!-- select:start -->
|
||||
<!-- select-menu-labels: Sistema Operacional,Shell,Método de Instalação -->
|
||||
|
||||
### --Linux,Bash,Git--
|
||||
|
||||
1. Em seu `~/.bashrc` remova as linhas do `asdf.sh` e seus complementos:
|
||||
|
||||
```shell
|
||||
. $HOME/.asdf/asdf.sh
|
||||
. $HOME/.asdf/completions/asdf.bash
|
||||
```
|
||||
|
||||
2. Remova o diretório `$HOME/.asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf}
|
||||
```
|
||||
|
||||
3. Execute o comando para remover todos os arquivos de configurações do `asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf $HOME/.tool-versions $HOME/.asdfrc
|
||||
```
|
||||
|
||||
### --Linux,Fish,Git--
|
||||
|
||||
1. Em seu `~/.config/fish/config.fish` remova as linhas do `asdf.sh`:
|
||||
|
||||
```shell
|
||||
source ~/.asdf/asdf.fish
|
||||
```
|
||||
|
||||
e remova os complementos de com esse comando:
|
||||
|
||||
```shell
|
||||
rm -rf ~/.config/fish/completions/asdf.fish
|
||||
```
|
||||
|
||||
2. Remova o diretório `$HOME/.asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf}
|
||||
```
|
||||
|
||||
3. Execute o comando para remover todos os arquivos de configurações do `asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf $HOME/.tool-versions $HOME/.asdfrc
|
||||
```
|
||||
|
||||
### --Linux,ZSH,Git--
|
||||
|
||||
1. Em seu `~/.zshrc` remova as linhas do `asdf.sh` e seus complementos:
|
||||
|
||||
```shell
|
||||
. $HOME/.asdf/asdf.sh
|
||||
# ...
|
||||
fpath=(${ASDF_DIR}/completions $fpath)
|
||||
autoload -Uz compinit
|
||||
compinit
|
||||
```
|
||||
|
||||
**Ou** use ZSH Framework plugin.
|
||||
|
||||
2. Remova o diretório `$HOME/.asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf}
|
||||
```
|
||||
|
||||
3. Execute o comando para remover todos os arquivos de configurações do `asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf $HOME/.tool-versions $HOME/.asdfrc
|
||||
```
|
||||
|
||||
### --Linux,Bash,Pacman--
|
||||
|
||||
1. Em seu `~/.bashrc` remova as linhas do `asdf.sh` e seus complementos:
|
||||
|
||||
```shell
|
||||
. /opt/asdf-vm/asdf.sh
|
||||
```
|
||||
|
||||
2. Desinstale usando seu gerenciador de pacotes:
|
||||
|
||||
```shell
|
||||
pacman -Rs asdf-vm
|
||||
```
|
||||
|
||||
3. Remova o diretório `$HOME/.asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf}
|
||||
```
|
||||
|
||||
4. Execute o comando para remover todos os arquivos de configurações do `asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf $HOME/.tool-versions $HOME/.asdfrc
|
||||
```
|
||||
|
||||
### --Linux,Fish,Pacman--
|
||||
|
||||
1. Em seu `~/.config/fish/config.fish` remova as linhas do `asdf.fish`:
|
||||
|
||||
```shell
|
||||
source /opt/asdf-vm/asdf.fish
|
||||
```
|
||||
|
||||
2. Desinstale usando seu gerenciador de pacotes:
|
||||
|
||||
```shell
|
||||
pacman -Rs asdf-vm
|
||||
```
|
||||
|
||||
3. Remova o diretório `$HOME/.asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf}
|
||||
```
|
||||
|
||||
4. Execute o comando para remover todos os arquivos de configurações do `asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf $HOME/.tool-versions $HOME/.asdfrc
|
||||
```
|
||||
|
||||
### --Linux,ZSH,Pacman--
|
||||
|
||||
1. Em seu `~/.zshrc` remova as linhas do `asdf.sh`:
|
||||
|
||||
```shell
|
||||
. /opt/asdf-vm/asdf.sh
|
||||
```
|
||||
|
||||
2. Desinstale usando seu gerenciador de pacotes:
|
||||
|
||||
```shell
|
||||
pacman -Rs asdf-vm
|
||||
```
|
||||
|
||||
3. Remova o diretório `$HOME/.asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf}
|
||||
```
|
||||
|
||||
4. Execute o comando para remover todos os arquivos de configurações do `asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf $HOME/.tool-versions $HOME/.asdfrc
|
||||
```
|
||||
|
||||
### --macOS,Bash,Git--
|
||||
|
||||
1. Em seu `~/.bash_profile` remova as linhas do `asdf.sh` e remova seus complementos:
|
||||
|
||||
```shell
|
||||
. $HOME/.asdf/asdf.sh
|
||||
. $HOME/.asdf/completions/asdf.bash
|
||||
```
|
||||
|
||||
2. Remova o diretório `$HOME/.asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf}
|
||||
```
|
||||
|
||||
3. Execute o comando para remover todos os arquivos de configurações do `asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf $HOME/.tool-versions $HOME/.asdfrc
|
||||
```
|
||||
|
||||
### --macOS,Fish,Git--
|
||||
|
||||
1. Em seu `~/.config/fish/config.fish` remova as linhas do `asdf.fish`:
|
||||
|
||||
```shell
|
||||
source ~/.asdf/asdf.fish
|
||||
```
|
||||
|
||||
e remova os complementos de com esse comando:
|
||||
|
||||
```shell
|
||||
rm -rf ~/.config/fish/completions/asdf.fish
|
||||
```
|
||||
|
||||
2. Remova o diretório `$HOME/.asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf}
|
||||
```
|
||||
|
||||
3. Execute o comando para remover todos os arquivos de configurações do `asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf $HOME/.tool-versions $HOME/.asdfrc
|
||||
```
|
||||
|
||||
### --macOS,ZSH,Git--
|
||||
|
||||
1. Em seu `~/.zshrc` remova as linhas do `asdf.sh` e remova seus complementos:
|
||||
|
||||
```shell
|
||||
. $HOME/.asdf/asdf.sh
|
||||
# ...
|
||||
fpath=(${ASDF_DIR}/completions $fpath)
|
||||
autoload -Uz compinit
|
||||
compinit
|
||||
```
|
||||
|
||||
**Ou** use ZSH Framework plugin.
|
||||
|
||||
2. Remova o diretório `$HOME/.asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf}
|
||||
```
|
||||
|
||||
3. Execute o comando para remover todos os arquivos de configurações do `asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf $HOME/.tool-versions $HOME/.asdfrc
|
||||
```
|
||||
|
||||
### --macOS,Bash,Homebrew--
|
||||
|
||||
Caso esteja usando **macOs Catalina ou mais recente**, por padrão o _shell_ é **ZSH**. Se não achar alguma configuração em seu `~/.bash_profile` talvez esteja em `~/.zshrc` em cada caso siga as intruções do ZSH.
|
||||
|
||||
1. Em seu `~/.bash_profile` remova as linhas do `asdf.sh` e remova seus complementos:
|
||||
|
||||
```shell
|
||||
. $(brew --prefix asdf)/asdf.sh
|
||||
. $(brew --prefix asdf)/etc/bash_completion.d/asdf.bash
|
||||
```
|
||||
|
||||
?> Os complementos precisam [instruções de configuração do Homebrew](https://docs.brew.sh/Shell-Completion#configuring-completions-in-bash) e siga o guia de remoção.
|
||||
|
||||
2. Desinstale usando seu gerenciador de pacotes:
|
||||
|
||||
```shell
|
||||
brew uninstall asdf --force
|
||||
```
|
||||
|
||||
3. Execute o comando para remover todos os arquivos de configurações do `asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf $HOME/.tool-versions $HOME/.asdfrc
|
||||
```
|
||||
|
||||
### --macOS,Fish,Homebrew--
|
||||
|
||||
1. Em seu `~/.config/fish/config.fish` remova as linhas do `asdf.fish`:
|
||||
|
||||
```shell
|
||||
source "(brew --prefix asdf)"/asdf.fish
|
||||
```
|
||||
|
||||
2. Desinstale usando seu gerenciador de pacotes:
|
||||
|
||||
```shell
|
||||
brew uninstall asdf --force
|
||||
```
|
||||
|
||||
3. Execute o comando para remover todos os arquivos de configurações do `asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf $HOME/.tool-versions $HOME/.asdfrc
|
||||
```
|
||||
|
||||
### --macOS,ZSH,Homebrew--
|
||||
|
||||
1. Em seu `~/.zshrc` remova as linhas do `asdf.sh`:
|
||||
|
||||
```shell
|
||||
. $(brew --prefix asdf)/asdf.sh
|
||||
```
|
||||
|
||||
2. Desinstale usando seu gerenciador de pacotes:
|
||||
|
||||
```shell
|
||||
brew uninstall asdf --force
|
||||
```
|
||||
|
||||
3. Execute o comando para remover todos os arquivos de configurações do `asdf`:
|
||||
|
||||
```shell
|
||||
rm -rf $HOME/.tool-versions $HOME/.asdfrc
|
||||
```
|
||||
|
||||
<!-- select:end -->
|
||||
|
||||
Tudo pronto! 🎉
|
77
docs/pt-br/core-manage-plugins.md
Normal file
77
docs/pt-br/core-manage-plugins.md
Normal file
@ -0,0 +1,77 @@
|
||||
Plugins são como asdf sabe lidar com diferentes ferramentas, tais quais Node.js, Ruby, Elixir etc.
|
||||
|
||||
Seja em [Criar Plugins](/pt-br/plugins-create) para usar API de plugin e ter suporte as ferramentas.
|
||||
|
||||
## Adicionar
|
||||
|
||||
Adicione os plugins via sua Url Git:
|
||||
|
||||
```shell
|
||||
asdf plugin add <name> <git-url>
|
||||
# asdf plugin add elm https://github.com/vic/asdf-elm
|
||||
```
|
||||
|
||||
ou pelo nome abreviado dentro do repositório de plugins:
|
||||
|
||||
```shell
|
||||
asdf plugin add <name>
|
||||
# asdf plugin add erlang
|
||||
```
|
||||
|
||||
Ao criar scripts, prefira o método mais longo `git-url`, pois ele é independente do repositório de nome abreviado.
|
||||
|
||||
## Listar Instalados
|
||||
|
||||
```shell
|
||||
asdf plugin list
|
||||
# asdf plugin list
|
||||
# java
|
||||
# nodejs
|
||||
```
|
||||
|
||||
```shell
|
||||
asdf plugin list --urls
|
||||
# asdf plugin list
|
||||
# java https://github.com/halcyon/asdf-java.git
|
||||
# nodejs https://github.com/asdf-vm/asdf-nodejs.git
|
||||
```
|
||||
|
||||
## Listar todos nomes abreviados no repositório
|
||||
|
||||
```shell
|
||||
asdf plugin list all
|
||||
```
|
||||
|
||||
Veja Todos os plugins(/pt-br/plugins-all) para os nomes abreviados dos plugins.
|
||||
|
||||
## Atualizar
|
||||
|
||||
```shell
|
||||
asdf plugin update --all
|
||||
```
|
||||
|
||||
Se você quiser atualizar um pacote específico, apenas use.
|
||||
|
||||
```shell
|
||||
asdf plugin update <name>
|
||||
# asdf plugin update erlang
|
||||
```
|
||||
|
||||
Esta atualização irá buscar o último _commit_ na _branch_ padrão no _origin_ de seu respositório. Plugins e atualizações das versões estão sendo desenvolvidas - https://github.com/asdf-vm/asdf/pull/916
|
||||
|
||||
## Remover
|
||||
|
||||
```bash
|
||||
asdf plugin remove <name>
|
||||
# asdf plugin remove erlang
|
||||
```
|
||||
|
||||
Removendo o plugin irá remover todas as instalações feitas com o plugin. Isso pode ser usado como um atalho para apagar/remover sujeiras de versões não utilizadas de uma ferramenta.
|
||||
|
||||
## Sincronizar nome abreviado no repositório
|
||||
|
||||
O nome abreviado do repositório é sincronizado em seu máquina local e periodicamente atualizado. Esse período pode ser determinado com o seguinte método:
|
||||
|
||||
- comandos `asdf plugin add <name>` ou `asdf plugin list all` disparam a sincronização
|
||||
- ocorre uma sincronização se não houver nenhuma nos últimos `X` minutos
|
||||
- `X` por padrão é `60`, mas pode ser mudado em `.asdfrc` via as opções do `plugin_repository_last_check_duration`. Seja mais em [asdf documentação de configuração](/pt-br/core-configuration).
|
137
docs/pt-br/core-manage-versions.md
Normal file
137
docs/pt-br/core-manage-versions.md
Normal file
@ -0,0 +1,137 @@
|
||||
## Instalar Versão
|
||||
|
||||
```shell
|
||||
asdf install <name> <version>
|
||||
# asdf install erlang 17.3
|
||||
```
|
||||
|
||||
_Se um plugin suporta o download e compilação do código-fonte, você pode especificar `ref:foo` no qual `foo` é uma 'branch' especifica, 'tag', ou 'commit'. Você também precisará usar o mesmo nome e referência ao desinstalar._
|
||||
|
||||
## Instalar última versão estável
|
||||
|
||||
```shell
|
||||
asdf install <name> latest
|
||||
# asdf install erlang latest
|
||||
```
|
||||
|
||||
Instale a última versão estável que inicia com um texto.
|
||||
|
||||
```shell
|
||||
asdf install <name> latest:<version>
|
||||
# asdf install erlang latest:17
|
||||
```
|
||||
|
||||
## Listar versões instaladas
|
||||
|
||||
```shell
|
||||
asdf list <name>
|
||||
# asdf list erlang
|
||||
```
|
||||
|
||||
## Listar todas as versões disponíveis
|
||||
|
||||
```shell
|
||||
asdf list all <name>
|
||||
# asdf list all erlang
|
||||
```
|
||||
|
||||
Limite as versões que inicie com um determinado texto.
|
||||
|
||||
```shell
|
||||
asdf list all <name> <version>
|
||||
# asdf list all erlang 17
|
||||
```
|
||||
|
||||
## Mostrar última versão estável
|
||||
|
||||
```shell
|
||||
asdf latest <name>
|
||||
# asdf latest erlang
|
||||
```
|
||||
|
||||
Mostrar última versão estável que inicie com um determinado texto.
|
||||
|
||||
```shell
|
||||
asdf latest <name> <version>
|
||||
# asdf latest erlang 17
|
||||
```
|
||||
|
||||
## Selecionar versão atual
|
||||
|
||||
```shell
|
||||
asdf global <name> <version> [<version>...]
|
||||
asdf shell <name> <version> [<version>...]
|
||||
asdf local <name> <version> [<version>...]
|
||||
# asdf global elixir 1.2.4
|
||||
```
|
||||
|
||||
`global` escreve a versão para `$HOME/.tool-versions`.
|
||||
|
||||
`shell` selecione a versão na variável de ambiente `ASDF_${LANG}_VERSION`, para a atual seção do _shell_.
|
||||
|
||||
`local` escreve a versão para `$PWD/.tool-versions`, crie se necessário .
|
||||
|
||||
Veja em `.tool-versions` [arquivo de seleção de configuração](/pt-br/core-configuration) para mais detalhes.
|
||||
|
||||
?> Alternativa, se você quiser selecionar a versão atual do seu _shell_ ou para executar um comando em uma versão específica de sua ferramenta, você pode selecionar a versão na variável de ambiente `ASDF_${TOOL}_VERSION`.
|
||||
|
||||
O seguinte exemplo executa os testes em um projeto Elixir na versão `1.4.0`.
|
||||
O formato da versão é o mesmo suportado pelo arquivo `.tool-versions`.
|
||||
|
||||
```shell
|
||||
ASDF_ELIXIR_VERSION=1.4.0 mix test
|
||||
```
|
||||
|
||||
## Resposta do sistema de versão
|
||||
|
||||
Para usar o sistema de versão da ferramenta `<name>` inicie um gerenciador de versões do asdf para selecionar a versão na ferramenta do `system`.
|
||||
|
||||
Selecione o sistema com `global`, `local` ou `shell`
|
||||
Set system with either `global`, `local` or `shell` conforme descrito em [Selecionar versão atual](#selecionar-versão-atual).
|
||||
|
||||
```shell
|
||||
asdf local <name> system
|
||||
# asdf local python system
|
||||
```
|
||||
|
||||
## Verificar a versão atual
|
||||
|
||||
```shell
|
||||
asdf current
|
||||
# asdf current
|
||||
# erlang 17.3 (set by /Users/kim/.tool-versions)
|
||||
# nodejs 6.11.5 (set by /Users/kim/cool-node-project/.tool-versions)
|
||||
|
||||
asdf current <name>
|
||||
# asdf current erlang
|
||||
# 17.3 (set by /Users/kim/.tool-versions)
|
||||
```
|
||||
|
||||
## Desinstalar versão
|
||||
|
||||
```shell
|
||||
asdf uninstall <name> <version>
|
||||
# asdf uninstall erlang 17.3
|
||||
```
|
||||
|
||||
## Shims
|
||||
|
||||
Quando asdf instala um pacote é criado _shims_ para cada programa executado no pacote do diretório `$ASDF_DATA_DIR/shims` (padrão `~/.asdf/shims`). Esse diretório começa no `$PATH` (pelos `asdf.sh` ou `asdf.fish`) é como o programa instalado é disponibilizado no ambiente do sistema.
|
||||
|
||||
Os _shims_ em si são atalhos simples que executam um programa auxiliar `asdf exec` passando o nome do plugin e o caminho para o executável no pacote instalado que o _shim_ está contido.
|
||||
|
||||
O `asdf exec` ajuda a determinar a versão do pacote usado (como especificado no arquivo `.tool-versions`, pelo `asdf local ...` ou `asdf global ...`), o final do _path_ do executavél no pacote instalado no diretório (pode ser manipulado pelo `exec-path` no _callback_ do plugin) e o ambiente executado em (também fornecido pelo plugin - `exec-env`) e finalmente executado.
|
||||
|
||||
!> Observe que, como este sistema usa chamadas `exec`, qualquer _scripts_ no pacote devem ser fornecidos pelo _shell_, a instancia em execução precisa ser aessado diretamente ao invés do _shim_. Os dois comandos do asdf: `which` e `where` pode ajudar com o retorno do caminho para o pacote instalado:
|
||||
|
||||
```shell
|
||||
# retorna o 'path' da versão atual em execução
|
||||
source $(asdf which ${PLUGIN})/../script.sh
|
||||
|
||||
# retorna o 'path' do pacote instalado no diretório
|
||||
source $(asdf where ${PLUGIN} $(asdf current ${PLUGIN}))/bin/script.sh
|
||||
```
|
||||
|
||||
### Ignorando _shims_ do asdf
|
||||
|
||||
Se por algum motivo você deseja ignorar _shims_ do asdf ou deseja que suas variáveis de ambiente sejam definidas automaticamente ao entrar no diretório do seu projeto, pode ser útil o [asdf-direnv](https://github.com/asdf-community/asdf-direnv). Verifique o README para mais detalhes.
|
281
docs/pt-br/plugins-create.md
Normal file
281
docs/pt-br/plugins-create.md
Normal file
@ -0,0 +1,281 @@
|
||||
## What's in a Plugin
|
||||
|
||||
A plugin is a git repo, with a couple executable scripts, to support versioning another language or tool. These scripts are run when `list-all`, `install` or `uninstall` commands are run. You can set or unset env vars and do anything required to setup the environment for the tool.
|
||||
|
||||
## Required Scripts
|
||||
|
||||
- `bin/list-all` - lists all installable versions
|
||||
- `bin/download` - download source code or binary for the specified version
|
||||
- `bin/install` - installs the specified version
|
||||
|
||||
## Environment Variables
|
||||
|
||||
All scripts except `bin/list-all` will have access to the following env vars to act upon:
|
||||
|
||||
- `ASDF_INSTALL_TYPE` - `version` or `ref`
|
||||
- `ASDF_INSTALL_VERSION` - if `ASDF_INSTALL_TYPE` is `version` then this will be the version number. Else it will be the git ref that is passed. Might point to a tag/commit/branch on the repo.
|
||||
- `ASDF_INSTALL_PATH` - the dir where the it _has been_ installed (or _should_ be installed in case of the `bin/install` script)
|
||||
|
||||
These additional environment variables will be available to the `bin/install` script:
|
||||
|
||||
- `ASDF_CONCURRENCY` - the number of cores to use when compiling the source code. Useful for setting `make -j`.
|
||||
- `ASDF_DOWNLOAD_PATH` - the path to where the source code or binary was downloaded by the `bin/download` script.
|
||||
|
||||
These additional environment variables will be available to the `bin/download` script:
|
||||
|
||||
- `ASDF_DOWNLOAD_PATH` - the path to where the source code or binary should be downloaded.
|
||||
|
||||
#### bin/list-all
|
||||
|
||||
Must print a string with a space-separated list of versions. Example output would be the following:
|
||||
|
||||
```
|
||||
1.0.1 1.0.2 1.3.0 1.4
|
||||
```
|
||||
|
||||
Note that the newest version should be listed last so it appears closer to the user's prompt. This is helpful since the `list-all` command prints each version on it's own line. If there are many versions it's possible the early versions will be off screen.
|
||||
|
||||
If versions are being pulled from releases page on a website it's recommended to not sort the versions if at all possible. Often the versions are already in the correct order or, in reverse order, in which case something like `tac` should suffice. If you must sort versions manually you cannot rely on `sort -V` since it is not supported on OSX. An alternate sort function [like this is a better choice](https://github.com/vic/asdf-idris/blob/master/bin/list-all#L6).
|
||||
|
||||
#### bin/download
|
||||
|
||||
This script must download the source or binary, in the path contained in the `ASDF_DOWNLOAD_PATH` environment variable. If the downloaded source or binary is compressed, only the uncompressed source code or binary may be placed in the `ASDF_DOWNLOAD_PATH` directory.
|
||||
|
||||
The script must exit with a status of `0` when the download is successful. If the download fails the script must exit with any non-zero exit status.
|
||||
|
||||
If possible the script should only place files in the `ASDF_DOWNLOAD_PATH`. If the download fails no files should be placed in the directory.
|
||||
|
||||
If this script is not present asdf will assume that the `bin/install` script is present and will download and install the version. asdf only works without this script to support legacy plugins. All plugins must include this script, and eventually support for legacy plugins will be removed.
|
||||
|
||||
#### bin/install
|
||||
|
||||
This script should install the version, in the path mentioned in `ASDF_INSTALL_PATH`. By default, asdf will create shims for any files in `$ASDF_INSTALL_PATH/bin` (this can be customized with the optional [bin/list-bin-paths](#binlist-bin-paths) script).
|
||||
|
||||
The install script should exit with a status of `0` when the installation is successful. If the installation fails the script should exit with any non-zero exit status.
|
||||
|
||||
If possible the script should only place files in the `ASDF_INSTALL_PATH` directory once the build and installation of the tool is deemed successful by the install script. asdf [checks for the existence](https://github.com/asdf-vm/asdf/blob/242d132afbf710fe3c7ec23c68cec7bdd2c78ab5/lib/utils.sh#L44) of the `ASDF_INSTALL_PATH` directory in order to determine if that version of the tool is installed. If the `ASDF_INSTALL_PATH` directory is populated at the beginning of the installation process other asdf commands run in other terminals during the installation may consider that version of the tool installed, even when it is not fully installed.
|
||||
|
||||
If you want your plugin to work with asdf version 0.7.* and earlier and version 0.8.* and newer check for the presence of the `ASDF_DOWNLOAD_PATH` environment variable. If it is not set download the source code in the bin/install callback. If it is set assume the `bin/download` script already downloaded it.
|
||||
|
||||
## Optional Scripts
|
||||
|
||||
#### bin/help scripts
|
||||
|
||||
This is not one callback script but rather a set of callback scripts that each print different documentation to STDOUT. The possible callback scripts are listed below. Note that `bin/help.overview` is a special case as it must be present for any help output to be displayed for the script.
|
||||
|
||||
- `bin/help.overview` - This script should output a general description about the plugin and the tool being managed. No heading should be printed as asdf will print headings. Output may be free-form text but ideally only one short paragraph. This script must be present if you want asdf to provide help information for your plugin. All other help callback scripts are optional.
|
||||
- `bin/help.deps` - This script should output the list of dependencies tailored to the operating system. One dependency per line.
|
||||
- `bin/help.config` - This script should print any required or optional configuration that may be available for the plugin and tool. Any environment variables or other flags needed to install or compile the tool (for the users operating system when possible). Output can be free-form text.
|
||||
- `bin/help.links` - This should be a list of links relevant to the plugin and tool (again, tailored to the current operating system when possible). One link per line. Lines may be in the format `<title>: <link>` or just `<link>`.
|
||||
|
||||
Each of these scripts should tailor their output to the current operating system. For example, when on Ubuntu the deps script could output the dependencies as apt-get packages that must be installed. The script should also tailor its output to the value of `ASDF_INSTALL_VERSION` and `ASDF_INSTALL_TYPE` when the variables are set. They are optional and will not always be set.
|
||||
|
||||
The help callback script MUST NOT output any information that is already covered in the core asdf-vm documentation. General asdf usage information must not be present.
|
||||
|
||||
#### bin/list-bin-paths
|
||||
|
||||
List executables for the specified version of the tool. Must print a string with a space-separated list of dir paths that contain executables. The paths must be relative to the install path passed. Example output would be:
|
||||
|
||||
```
|
||||
bin tools veggies
|
||||
```
|
||||
|
||||
This will instruct asdf to create shims for the files in `<install-path>/bin`, `<install-path>/tools` and `<install-path>/veggies`
|
||||
|
||||
If this script is not specified, asdf will look for the `bin` dir in an installation and create shims for those.
|
||||
|
||||
#### bin/exec-env
|
||||
|
||||
Setup the env to run the binaries in the package.
|
||||
|
||||
#### bin/exec-path
|
||||
|
||||
Get the executable path for the specified version of the tool. Must print a string with the relative executable path. This allows the plugin to conditionally override the shim's specified executable path, otherwise return the default path specified by the shim.
|
||||
|
||||
```
|
||||
Usage:
|
||||
plugin/bin/exec-path <install-path> <command> <executable-path>
|
||||
|
||||
Example Call:
|
||||
~/.asdf/plugins/foo/bin/exec-path "~/.asdf/installs/foo/1.0" "foo" "bin/foo"
|
||||
|
||||
Output:
|
||||
bin/foox
|
||||
```
|
||||
|
||||
#### bin/uninstall
|
||||
|
||||
Uninstalls a specific version of a tool.
|
||||
|
||||
#### bin/list-legacy-filenames
|
||||
|
||||
Register additional setter files for this plugin. Must print a string with a space-separated list of filenames.
|
||||
|
||||
```
|
||||
.ruby-version .rvmrc
|
||||
```
|
||||
|
||||
Note: This will only apply for users who have enabled the `legacy_version_file` option in their `~/.asdfrc`.
|
||||
|
||||
#### bin/parse-legacy-file
|
||||
|
||||
This can be used to further parse the legacy file found by asdf. If `parse-legacy-file` isn't implemented, asdf will simply cat the file to determine the version. The script will be passed the file path as its first argument.
|
||||
|
||||
#### bin/post-plugin-add
|
||||
|
||||
This can be used to run any post-installation actions after the plugin has been added to asdf.
|
||||
|
||||
The script has access to the path the plugin was installed (`${ASDF_PLUGIN_PATH}`) and the source URL (`${ASDF_PLUGIN_SOURCE_URL}`), if any was used.
|
||||
|
||||
See also the related hooks:
|
||||
|
||||
- `pre_asdf_plugin_add`
|
||||
- `pre_asdf_plugin_add_${plugin_name}`
|
||||
- `post_asdf_plugin_add`
|
||||
- `post_asdf_plugin_add_${plugin_name}`
|
||||
|
||||
#### bin/pre-plugin-remove
|
||||
|
||||
This can be used to run any pre-removal actions before the plugin will be removed from asdf.
|
||||
|
||||
The script has access to the path the plugin was installed in (`${ASDF_PLUGIN_PATH}`).
|
||||
|
||||
See also the related hooks:
|
||||
|
||||
- `pre_asdf_plugin_remove`
|
||||
- `pre_asdf_plugin_remove_${plugin_name}`
|
||||
- `post_asdf_plugin_remove`
|
||||
- `post_asdf_plugin_remove_${plugin_name}`
|
||||
|
||||
## Extension commands for asdf CLI.
|
||||
|
||||
It's possible for plugins to define new asdf commands by providing `lib/commands/command*.bash` scripts or executables that
|
||||
will be callable using the asdf command line interface by using the plugin name as a subcommand.
|
||||
|
||||
For example, suppose a `foo` plugin has:
|
||||
|
||||
```shell
|
||||
foo/
|
||||
lib/commands/
|
||||
command.bash
|
||||
command-bat.bash
|
||||
command-bat-man.bash
|
||||
command-help.bash
|
||||
```
|
||||
|
||||
Users can now execute
|
||||
|
||||
```shell
|
||||
$ asdf foo # same as running `$ASDF_DATA_DIR/plugins/foo/lib/commands/command.bash`
|
||||
$ asdf foo bar # same as running `$ASDF_DATA_DIR/plugins/foo/lib/commands/command.bash bar`
|
||||
$ asdf foo help # same as running `$ASDF_DATA_DIR/plugins/foo/lib/commands/command-help.bash`
|
||||
$ asdf foo bat man # same as running `$ASDF_DATA_DIR/plugins/foo/lib/commands/command-bat-man.bash`
|
||||
$ asdf foo bat baz # same as running `$ASDF_DATA_DIR/plugins/foo/lib/commands/command-bat.bash baz`
|
||||
```
|
||||
|
||||
Plugin authors can use this feature to provide utilities related to their tools,
|
||||
or even create plugins that are just new command extensions for asdf itself.
|
||||
|
||||
When invoked, if extension commands do not have their executable-bit set, they will be
|
||||
sourced as bash scripts, having all of the functions from `$ASDF_DIR/lib/utils.bash` available.
|
||||
Also, the `$ASDF_CMD_FILE` resolves to the full path of the file being sourced.
|
||||
If the executable bit is set, they are just executed and replace the asdf execution.
|
||||
|
||||
A good example of this feature is for plugins like [`haxe`](https://github.com/asdf-community/asdf-haxe)
|
||||
which provides the `asdf haxe neko-dylibs-link` to fix an issue where haxe executables expect to find
|
||||
dynamic libraries relative to the executable directory.
|
||||
|
||||
If your plugin provides an asdf extension command, be sure to mention about it on your plugin's README.
|
||||
|
||||
## Custom shim templates
|
||||
|
||||
**PLEASE use this feature only if absolutely required**
|
||||
|
||||
asdf allows custom shim templates. For an executable called `foo`, if there's a `shims/foo` file in the plugin, then asdf will copy that file instead of using it's standard shim template.
|
||||
|
||||
This must be used wisely. For now AFAIK, it's only being used in the Elixir plugin, because an executable is also read as an Elixir file apart from just being an executable. Which makes it not possible to use the standard bash shim.
|
||||
|
||||
## Testing plugins
|
||||
|
||||
`asdf` contains the `plugin-test` command to test your plugin. You can use it as follows
|
||||
|
||||
```sh
|
||||
asdf plugin test <plugin-name> <plugin-url> [--asdf-tool-version <version>] [--asdf-plugin-gitref <git-ref>] [test-command*]
|
||||
```
|
||||
|
||||
Only the two first arguments are required.
|
||||
If \__version_ is specified, the tool will be installed with that specific version. Defaults to whatever returns `asdf latest <plugin-name>`.
|
||||
If _git-ref_ is specified, the plugin itself is checked out at that commit/branch/tag, useful for testing a pull-request on your plugin's CI.
|
||||
|
||||
Rest arguments are considered the command to execute to ensure the installed tool works correctly.
|
||||
Normally it would be something that takes `--version` or `--help`.
|
||||
For example, to test the NodeJS plugin, we could run
|
||||
|
||||
```sh
|
||||
asdf plugin test nodejs https://github.com/asdf-vm/asdf-nodejs.git node --version
|
||||
```
|
||||
|
||||
We strongly recommend you test your plugin on a CI environment and make sure it works on both Linux and OSX.
|
||||
|
||||
#### Example GitHub Action
|
||||
|
||||
The [asdf-vm/actions](https://github.com/asdf-vm/actions) repo provides a GitHub Action for testing your plugins hosted on github.
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- name: asdf_plugin_test
|
||||
uses: asdf-vm/actions/plugin-test@v1
|
||||
with:
|
||||
command: "my_tool --version"
|
||||
env:
|
||||
GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} # automatically provided
|
||||
```
|
||||
|
||||
#### Example TravisCI config
|
||||
|
||||
Here is a sample `.travis.yml` file, customize it to your needs
|
||||
|
||||
```yaml
|
||||
language: c
|
||||
script: asdf plugin test nodejs $TRAVIS_BUILD_DIR 'node --version'
|
||||
before_script:
|
||||
- git clone https://github.com/asdf-vm/asdf.git asdf
|
||||
- . asdf/asdf.sh
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
```
|
||||
|
||||
Note:
|
||||
When using another CI, you will need to check what variable maps to the repo path.
|
||||
|
||||
You also have the option to pass a relative path to `plugin-test`.
|
||||
|
||||
For example, if the test script is ran in the repo directory: `asdf plugin test nodejs . 'node --version'`.
|
||||
|
||||
## GitHub API Rate Limiting
|
||||
|
||||
If your plugin's `list-all` depends on accessing the GitHub API, make sure you provide an Authorization token when accessing it, otherwise your tests might fail due to rate limiting.
|
||||
|
||||
To do so, create a [new personal token](https://github.com/settings/tokens/new) with only `public_repo` access.
|
||||
|
||||
Then on your travis.ci build settings add a _secure_ environment variable for it named something like `GITHUB_API_TOKEN`. And _DO NOT_ EVER publish your token in your code.
|
||||
|
||||
Finally, add something like the following to `bin/list-all`
|
||||
|
||||
```shell
|
||||
cmd="curl -s"
|
||||
if [ -n "$GITHUB_API_TOKEN" ]; then
|
||||
cmd="$cmd -H 'Authorization: token $GITHUB_API_TOKEN'"
|
||||
fi
|
||||
|
||||
cmd="$cmd $releases_path"
|
||||
```
|
||||
|
||||
## Submitting plugins to the official plugins repository
|
||||
|
||||
`asdf` can easily install plugins by specifying the plugin repository url, e.g. `plugin add my-plugin https://github.com/user/asdf-my-plugin.git`.
|
||||
|
||||
To make it easier on your users, you can add your plugin to the official plugins repository to have your plugin listed and easily installable using a shorter command, e.g. `asdf plugin add my-plugin`.
|
||||
|
||||
Follow the instruction at the plugins repository: [asdf-vm/asdf-plugins](https://github.com/asdf-vm/asdf-plugins).
|
17
docs/pt-br/thanks.md
Normal file
17
docs/pt-br/thanks.md
Normal file
@ -0,0 +1,17 @@
|
||||
## Créditos
|
||||
|
||||
Eu ([@HashNuke](https://github.com/HashNuke)), febre alta, resfriado e tosse.
|
||||
|
||||
Copyright 2014 até o final dos tempos ([MIT License](https://github.com/asdf-vm/asdf/blob/master/LICENSE))
|
||||
|
||||
## Mantenedores
|
||||
|
||||
- [@HashNuke](https://github.com/HashNuke)
|
||||
- [@danhper](https://github.com/danhper)
|
||||
- [@Stratus3D](https://github.com/Stratus3D)
|
||||
- [@vic](https://github.com/vic)
|
||||
- [@jthegedus](https://github.com/jthegedus)
|
||||
|
||||
## Contribuidores
|
||||
|
||||
Veja em [lista de contribuidores](https://github.com/asdf-vm/asdf/graphs/contributors) :pray: no GitHub
|
Loading…
Reference in New Issue
Block a user