Aula 16
Como adicionar go/bin ao seu PATH para rodar CompileDaemon
Nesta aula nós aprendemos à adicionar o $GOPATH
ao $PATH
.
Summary
# Resumo do Transcript
O apresentador discute como redefinir o `PATH` no sistema usando a variável `GOLPATH`. Ele exemplifica com comandos de terminal e explica o problema de adicionar caminhos quando há múltiplos locais definidos em `GOLPATH`.
## Redefinindo o `PATH`
1. **Adição Simples**:
- Para adicionar `GOLPATH` ao final do `PATH`, pode-se usar:
```bash
export PATH=$PATH:$GOLPATH/bin
```
- Porém, esse método falha quando `GOLPATH` possui múltiplos caminhos.
2. **Problema com Múltiplos Caminhos**:
- Se `GOLPATH` tem múltiplos caminhos, a adição com o comando anterior só funcionará para o último local.
- Exemplo de `GOLPATH`:
```
/a:/b:/c:/d:/e:/f
```
3. **Solução com Substituições**:
- Para garantir que `bin` seja adicionado a todos os caminhos, utiliza-se a sintaxe de substituição:
```bash
export PATH=${GOLPATH//:/:/bin:}
```
- Isso substitui todos os dois pontos (`:`) com `:/bin:`, garantindo que `bin` seja adicionado a cada caminho.
4. **Testando a Configuração**:
- Após a configuração, o comando `source ~/.bash_profile` deve ser executado e o resultado verificado com o `echo $PATH`.
- O apresentador testou a configuração e confirmou que funcionou corretamente.
5. **Instruções para Usuários Windows**:
- No Windows, o `GOLPATH` deve ser definido nas variáveis de ambiente do sistema como `%USERPROFILE%/go`.
- A atualização do `PATH` pode ser feita manualmente adicionando os caminhos relevantes, mas a complexidade aumenta se `GOLPATH` também tiver múltiplos caminhos.
O apresentador convida os usuários do Windows a compartilhar como realizar essas configurações, pois ele não está familiarizado com o processo na plataforma.
**Encerramento**: O apresentador finaliza a aula agradecendo e se despede.
Video Transcript
Então nós podemos redefinir o path usando o path antigo e combinar com o caminho do
golpath, barra-b.
Então uma maneira de fazer isso é, por exemplo, eu só vou demonstrar com um eco aqui.
Se você pegar o path, adicionar dois pontos e adicionar golpath, barra-b.
Você nota que agora ele adiciona no final o caminho do gol.
Eu poderia adicionar lá no bash profile se eu vier aqui essa mesma coisa export.
Path vai ser o que?
O path anterior, golpath, dois pontos, o golpath, barra-b.
Funcionaria ok, mas o problema desse aqui é se você tiver um golpath que tem mais de
um caminho, ele não vai funcionar.
Por que?
Vou te mostrar aqui.
Por exemplo, se o golpath fosse igual a barra-a, barra-b, dois pontos, barra-c, barra-d, dois
pontos, barra-e, barra-f, temos três caminhos para o golpath.
Então tem três locais onde a gente tem o golpath.
Então eu defini a variável lá com aquele valor.
Só temporariamente eu tenho que ter cuidado para não usar depois.
Você nota que temos três caminhos e se eu fizer o echo golpath, barra-b, ele só adiciona
o barra-b ao último caminho, o terceiro nesse caso.
Os outros não têm o barra-b, como é que adiciona o barra-b aos outros?
Bem, você faz a maneira seguinte.
Primeiro vou dizer como fazer e depois eu explico.
Você vai adicionar as chaves aqui, golpath, barra, barra-d, dois pontos, barra-b, dois
pontos.
Agora tem o barra-b no primeiro caminho, barra-b no segundo também.
Então o que é que é isso?
Vou te mostrar aqui.
Vou copiar isso para nós explicarmos no editor de texto.
Bem, se você quiser saber a referência disso, você pode olhar no manual do baixo e procurar
o pattern, barra, desculpa, parâmetro, barra, pattern.
Esse aqui é a explicação de o que está acontecendo lá.
Então deixa eu te explicar.
Bem, nós temos o dollar sign, temos pattern, barra.
Nós temos o parâmetro, barra, pattern, barra, stream.
Nesse caso o parâmetro vai ser golpath.
O padrão, o pattern, vai ser tudo que está entre as duas barras, tá?
Dessa barra aqui até a outra.
Então esse vai ser o pattern aqui, desculpa, é antes dessa barra aqui.
Tá?
Então essa barra, dois pontos é o pattern.
Tá?
Parâmetro vai ser golpath.
O pattern, nesse caso, vai ser o barra, dois pontos.
E o string vai ser, na verdade, o barra-bin e dois pontos, tá?
É meio confuso, né?
Então, se você pensar dessa maneira, golpath, barra, certo, começou o pattern.
Vai até a primeira, outra barra que ia encontrar, né?
Então, o que está acontecendo aqui?
Vamos um por um.
Então primeiro, vamos pegar o golpath, barra-bin, a gente já sabe o que acontece nesse aqui.
Nesse caso aqui ele adiciona barra-bin no final dessa string.
No nosso caso, é a barra, a barra b, dois pontos, barra c, barra d, dois pontos, barra
e barra f.
Então esse cara vai pegar adicionar a bin no final e iria ficar o quê?
Adicionar o barra-bin aqui, tá?
Mais o barra-bin no final.
Bem, legal, mas se eu digitar o pattern, barra, barra aqui, o pattern vai ser o quê?
Por exemplo, se fosse dois pontos e esse aqui fosse só bin, o que é que aconteceria?
Ele iria pegar, iria encontrar o primeiro padrão que encontrar...
Ele iria encontrar esses dois pontos, certo?
Ele iria pegar esses dois pontos e substituir com o bin.
Os dois pontos aqui estoneira e a bin.
Mas isso não está certo, né?
Então a gente precisa fazer o quê?
Bem, tem que adicionar a barra antes do bin.
Então antes do bin, eu adiciono a barra, por isso que ficou o barra-bin.
Agora, depois do bin, temos dois pontos.
Então depois do bin, dois pontos.
Por isso que fica a barra-bin, dois pontos.
Então barra-bin, dois pontos.
Bem, legal, mas ele só fez o primeiro, porque esse mat aqui só vai ser na primeira, não
vai ser em todas, né?
Ainda tem esses dois pontos aqui, ele não fez nada.
Então para você fazer a substituição global de todas as metas, você tem que adicionar
a primeira barra, tá?
Então a documentação lá que fala aqui, certo?
Com a barra, todas as metas, ó, essa é a palavra-chave, todas, são substituídas.
Então se você adicionar essa barra aqui, adicional, ele vai substituir todos os dois
pontos, não só o primeiro, mas como o segundo.
Então o segundo será substituído para o barra-bin, dois pontos.
E com isso a gente termina esse negócio.
Vamos testar, vou copiar isso.
Echo, como a gente se esperava, né?
Então por isso tem que fazer dessa maneira.
Então voltando ao bash profile, em vez de golpath dessa maneira eu tenho que substituir
com aquele golpath e usar esse negócio aqui.
Essa maneira se tiver múltiplo caminhos, ele vai adicionar a barra-bin para cada caminho
na stream.
Vamos agora acertar o golpath de volta para a home, barra-go, se não dá problema aqui.
Eu vou dar o source, ponto bash profile, e eu vou dar o echopath para ver o que é que
está no path.
Note que está barra-users, barra, se eu estou barra-go, barra-bin.
Bem, legal.
Agora vamos testar.
Se eu disser compile de imen, será que funciona?
Sem, funcionou, tá?
Tudo certo.
Tá bom?
Isso seria comendo igual, ponto barra-go, lá no seu que?
E ele inicia o servidor na mesma, depois de compilar.
Certo?
Vamos testar aqui.
Os livros, opa, não ensinou por que?
Ah, eu esqueci da traço comando, por isso que não funcionou.
Traço comando, traço comando.
Pronto, apareceu aqui.
Certo?
E só para terminar aqui, para o usuário de Windows, você teria que definir a variável
de ambiente do sistema, golpath, e seria o %useprofile, né?
Barra-go, para a variável golpath, seria esse valor.
E você também teria que atualizar o seu path, atualizar, modificar.
E você ter que adicionar no final esse golpath, né?
Nesse caso eu não sei como vai fazer no caso do Windows,
se o golpath tiver caminhos mais de um caminho.
Então eu não sei, então você talvez tenha que digitar manualmente
%golpath, o primeiro que tiver dentro golpath você digita manualmente, sei lá,
ab, barra-bin, e o segundo, barracê, barra-de, barra-bin, assim por diante.
Adiciona isso no final do seu path.
Se você souber como fazer essa equilibrante que eu fiz no Bash aqui, no Windows,
Windows diz aí como é que faz, tá?
Se você possuera golpath, assim, por cento, barra-bin no final do seu path,
só vai funcionar no último caminho, né?
Eu não sei ter certeza como fazer assim.
Tá, então por essa aula é só, e até a próxima. Tchau!
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: