Para aqueles que não têm ideia do que é o Fish: link
Da mesma forma, se você não estiver familiarizado com um ambiente de codificação Go e ainda quiser tentar descobrir esse pequeno quebra-cabeça, aqui estão algumas informações: link
De qualquer forma, estou tentando configurar um desenvolvedor Go-lang. ambiente em uma nova máquina onde eu estou dando Fish uma tentativa.
Portanto, eu tenho $GOPATH
definido como /home/<me>/workspace/go-workspace
em bash
e fish
. Isso significa que a ferramenta go
espera um diretório bin
, pkg
e src
abaixo disso. Que está lá.
No entanto, digitar go get
enquanto estiver em um diretório com algum código (o que normalmente faria o download de suas dependências) rende
package code.google.com/p/go.crypto/openpgp: cannot download, $GOPATH not set. For more details see: go help gopath
package code.google.com/p/go.crypto/openpgp/armor: cannot download, $GOPATH not set. For more details see: go help gopath
package code.google.com/p/go.crypto/ssh: cannot download, $GOPATH not set. For more details see: go help gopath
package github.com/codegangsta/cli: cannot download, $GOPATH not set. For more details see: go help gopath
package github.com/oleiade/reflections: cannot download, $GOPATH not set. For more details see: go help gopath
package launchpad.net/goamz/aws: cannot download, $GOPATH not set. For more details see: go help gopath
package launchpad.net/goamz/s3: cannot download, $GOPATH not set. For more details see: go help gopath
Eu sei que isso é absolutamente falso porque posso executar echo $GOPATH
e o valor que defini.
Então, estranhamente, se eu executar o mesmo comando em bash
com o mesmo $GOPATH
set, ele simplesmente funciona.
Alguém pode me dizer por quê?
Ou, mais genericamente, você pode me dizer por que um programa detectaria uma variável de ambiente em um shell, mas não em outro?