Estou tentando instalar um web.go
, mas estou executando um go get github.com/hoisie/web
retorno
package bufio: unrecognized import path "bufio"
package bytes: unrecognized import path "bytes"
package crypto/rand: unrecognized import path "crypto/rand"
package crypto/sha1: unrecognized import path "crypto/sha1"
package crypto/tls: unrecognized import path "crypto/tls"
package encoding/base64: unrecognized import path "encoding/base64"
package encoding/binary: unrecognized import path "encoding/binary"
package encoding/json: unrecognized import path "encoding/json"
package errors: unrecognized import path "errors"
package fmt: unrecognized import path "fmt"
e isso continua por um tempo com vários pacotes, antes de retornar nada mais. go env
me dá:
GOARCH="amd64"
GOBIN="/usr/local/go/bin"
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/home/me/go"
GOTOOLDIR="/home/me/go/pkg/tool/linux_amd64"
TERM="dumb"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CXX="g++"
CGO_ENABLED="1"
Como posso instalar web.go
? Usar go get
(em vez de go install
) é o que está no README na página do github. Minha versão Go é go version go1.2 linux/amd64
.
Respostas:
Os problemas estão relacionados a um inválido
GOROOT
.Acho que você instalou o Go in
/usr/local/go
.Portanto, mude seu
GOROOT
caminho para o valor de/usr/local/go/bin
.Parece que você pretendia ter seu espaço de trabalho (GOPATH) localizado em
/home/me/go
.Isso pode resolver seu problema.
Adicione isso ao final do seu perfil bash, localizado aqui =>
$HOME/.profile
Certifique-se de remover as referências antigas de
GOROOT
.Em seguida, tente instalar o web.go novamente.
Se isso não funcionar, faça com que o Ubuntu instale o Go para você.
sudo apt-get install golang
Tutorial em vídeo: http://www.youtube.com/watch?v=2PATwIfO5ag
fonte
go get
dá o mesmo erro.GOROOT
está definido para/usr
ir instalado em / usr, não em / usr / local. DefinaGOPATH
como$HOME/go
. Alguma ideia do que mais verificar?GOROOT
parece perturbador que resolveu o problema.echo $GOROOT
e verifiquei se GO ainda o tinha no ambiente com ogo env
qual estava instalado e estava/usr/local/go
onde fui instalado (portanto, não há necessidade de configurá-lo em nenhum caso)Instalei o Go com
brew
no OSX 10.11 e descobri que tinha que definirGOROOT
para:/usr/local/Cellar/go/1.5.1/libexec
(Claro, substitua a versão neste caminho pela versão go que você tem)
Brew usa links simbólicos, que estavam enganando o gotool. Então siga os links para casa.
fonte
Eu tive exatamente o mesmo problema, depois de passar da versão go antiga (instalada do PPA antigo) para os pacotes padrão mais recentes (1.2.1) no ubuntu 14.04.
A primeira etapa foi limpar o go existente:
Que produz os seguintes avisos:
Parece que a remoção de go deixa alguns arquivos para trás, o que pode confundir a instalação mais recente. Mais precisamente, a instalação em si será concluída sem problemas, mas depois disso qualquer comando go, como "go get something", fornecerá aqueles erros de "caminho de importação não reconhecido".
Tudo que eu tive que fazer foi remover esses dirs primeiro, reinstalar o golang e tudo funcionou perfeitamente (assumindo que você também definiu GOPATH)
fonte
/usr/local/go/
Porque GFW proibiu você de acessar golang.org! E quando eu uso o proxy, ele pode funcionar bem.
você pode ver as informações usando o comando
go get -v -u golang.org/x/oauth2
fonte
http://ping.eu/nslookup/
encontrar o IP correto do domínio, defina-o no arquivo hosts e use um proxy para fazer o download.export http_proxy=127.0.0.1:1080 https_proxy=127.0.0.1:1080
Às vezes, você só quer dizer a palavra F para o Gov$ unset GOROOT
trabalhou para mim. Como a maioria das respostas sugere que seu GOROOT é inválido.fonte
Eu tive o mesmo problema no MacOS 10.10. E descobri que o problema causado pelo shell OhMyZsh. Então eu voltei para o bash e tudo deu certo.
Aqui está o meu ambiente de trabalho
fonte
go env
de quando não funcionou ou de quando funcionou? Provavelmente não foi "causado por [outro shell]", mas provavelmente foi uma falha na configuração corretaGOPATH
desse outro shell. A família de shells csh e zsh não usa os mesmos arquivos de inicialização (ou seja, não~/.profile
). Em particularzsh
usa$ZDOTDIR/.zshenv
e$ZDOTDIR/.zprofile
(onde o$ZDOTDIR
padrão é$HOME
).As causas mais comuns são:
1. Um GOROOT configurado incorretamente
OU
2. GOPATH não está definido
fonte
Tive o mesmo problema depois de atualizar go1.2 para go1.4.
Eu renomei src para _src em meu GOPATH e, em seguida, fiz um
go get -v
Funcionou então eu deletei _src.
Espero que ajude.
fonte
Eu encontrei esse problema ao instalar um pacote diferente, e ele pode ser causado pela configuração GOROOT e GOPATH em seu PATH. Eu tendo a não definir GOROOT porque minha instalação do OS X cuidou disso (acredito) para mim.
Certifique-se do seguinte em seu .profile (ou onde quer que você armazene a configuração de perfil: .bash_profile, .zshrc, .bashrc, etc):
Além disso, é provável que você também queira
unset GOROOT
, caso esse caminho também esteja incorreto.Além disso, certifique-se de limpar seu PATH, de forma semelhante ao que fiz abaixo, logo antes da atribuição do GOPATH, ou seja:
Então,
source <.profile>
para ativargo get
fonte