Estou tentando instalar o doozer assim:
$ goinstall github.com/ha/doozer
Eu recebo esses erros.
goinstall: os: go/build: package could not be found locally goinstall: fmt: go/build: package could not be found locally goinstall: io: go/build: package could not be found locally goinstall: reflect: go/build: package could not be found locally goinstall: math: go/build: package could not be found locally goinstall: rand: go/build: package could not be found locally goinstall: url: go/build: package could not be found locally goinstall: net: go/build: package could not be found locally goinstall: sync: go/build: package could not be found locally goinstall: runtime: go/build: package could not be found locally goinstall: strings: go/build: package could not be found locally goinstall: sort: go/build: package could not be found locally goinstall: strconv: go/build: package could not be found locally goinstall: bytes: go/build: package could not be found locally goinstall: log: go/build: package could not be found locally goinstall: encoding/binary: go/build: package could not be found locally
GOPATH
será definido para você no Go 1.8 (2017). Veja minha resposta abaixogoinstall
é realmente antiga pré-GO1 e não existe desde 2012.Respostas:
GOPATH
é discutido nacmd/go
documentação :GOROOT
é discutido nas instruções de instalação :(versão atualizada da resposta de Chris Bunch .)
fonte
go
comando, essencial para trabalhar com o Go. Por exemplo, o uso degoinstall
no OP agora deve sergo get
./usr/local/Cellar/go/
. Nesse caso, o caminho de exportação deve ser definido comexport GOROOT=/usr/local/Cellar/go/{version}
eexport PATH=$PATH:$GOROOT/bin
.export GOROOT=/usr/local/Cellar/go/1.2/libexec/
para que o meu trabalhasse com cerveja.Aqui está uma configuração simples:
GOROOT, GOPATH, PATH são definidos da seguinte forma:
Então, resumindo:
O GOROOT é para compilador / ferramentas provenientes da instalação go.
GOPATH é para seus próprios projetos go / bibliotecas de terceiros (baixado com "go get").
fonte
Primeira corrida
go env
.Se você perceber que a instalação não está instalada, é possível instalá-la via
homebrew
ou via pacote e / ou outras formas.Se você estiver vendo saída, o seu
Go
está instalado.Ele mostra todos os envs definidos e não são.
Se você vir vazio para
GOROOT
:which go
(no meu computador/usr/local/go/bin/go
:)export GOROOT=/usr/local/go
Se você vir vazio para
GOPATH
:~/GO_PROJECTS
export GOPATH=~/GO_PROJECTS
fonte
which go
fez isso por mim. Ele estava usando outro local de instalação go de uma instalação anterior usando Chocolatey. Excluiu essa pasta e a removeu da variável PATH. Agora funciona. Obrigado!which go
comando não funcionou para mim no Windows 7. Como posso encontrar onde eu deveria executar este comandowhere go
que irá mostrar-lhe o caminho do arquivo executadoexport GOPATH=~/GO_PROJECTS
fez trabalhoGOPATH
é discutido aqui :E
GOROOT
é discutido aqui :fonte
sudo apt-get install golang
?go env
você deve ver essa informação, para mim foi/usr/lib/go/
Eu li os
go help gopath
documentos e ainda estava incrivelmente confuso, mas encontrei essa pequena pepita de outra página do go doc:http://golang.org/doc/code.html#GOPATH
fonte
O GOPATH não deve apontar para a instalação do Go, mas para o seu espaço de trabalho (consulte https://golang.org/doc/code.html#GOPATH ). Sempre que você instala algum pacote com a instalação ir buscar ou ir, ele vai parar no GOPATH. É por isso que avisa que você definitivamente não deseja que pacotes aleatórios da Internet sejam despejados em sua instalação oficial.
fonte
A partir do go 1.8 (Q2 2017), o GOPATH será definido para você por padrão como $ HOME / go
Veja a edição 17262 e o comentário de Rob Pike:
fonte
Como acima mencionado:
Para o Windows , isso funcionou para mim (na janela Ms-dos):
Isso cria uma variável GOPATH que Ms-dos reconhece quando usada da seguinte maneira:
fonte
Em relação
GOROOT
especificamente, o Go 1.9 irá defini-lo automaticamente para o caminho da instalação.Mesmo se você tiver vários Go instalados, chamar o 1.9.x que será definido
GOROOT
como/path/to/go/1.9
(antes, se não estiver definido, assumiu um caminho padrão como/usr/local/go
ouc:\Go
).Veja CL Go Review 53370 :
fonte
A partir de 2020 e Go versão 1.13 ou superior, no Windows, a melhor maneira de atualizar o GOPATH é apenas digitar no prompt de comando:
fonte
Aqui está uma solução (usuário único):
go
reclama se você mudar.gopath
para.go
.Eu gostaria que eles fossem com o
rust/cargo
jeito que os caras fizeram e apenas colocaram tudo em um só lugar.fonte
no osx, eu instalei com o brew, aqui está a configuração que funciona para mim
fonte
Eu tive que acrescentar
ao meu ~ / .bash_profile no Mac OS X
fonte
Também existe um caso em que, quando usamos go, ele compila todos os arquivos go.
Digamos que tínhamos um arquivo main.go e, posteriormente, alteramos o arquivo atual para main_old.go e adicionamos nosso novo arquivo main.go. Então, quando criarmos nosso aplicativo, todos os arquivos em andamento serão compilados. Portanto, o erro que está acontecendo pode ser devido a um erro de compilação em outros arquivos go.
fonte
Após a instalação do Go lang, o GOROOT é o diretório raiz da instalação.
Quando explodi o binário Go Lang no diretório Windows C: \, meu GOROOT deve ser C: \ go. Se instalado com o instalador do Windows, pode ser C: \ Arquivos de Programas \ go (ou C: \ Arquivos de Programas (x86) \ go, para pacotes de 64 bits)
enquanto meu GOPATH é o local do código-fonte ou área de trabalho Go lang.
Se meu código fonte Go lang estiver localizado em C: \ Users \\ GO_Workspace, seu GOPATH seria o seguinte:
fonte
Você não precisa definir explicitamente
GOROOT
(as versões modernas do Go podem descobrir por conta própria, com base no local do binário go que você executa).Além disso, ocorreu o seguinte erro ao tentar trabalhar com
vgo
:Removendo o GOROOT, atualizando o meu GOPATH e
export GO111MODULE="on"
resolvendo o problema.GOPATH veja aqui
fonte
os valores devem ser (MACOS):
fonte
Se você estiver usando a distribuição, aponte para onde estão os arquivos de inclusão, por exemplo:
(Isto é para o Fedora 20)
fonte