“niet-herkend importpad” met go get

Ik probeer een web.gote installeren, maar het uitvoeren van go get github.com/hoisie/webgeeft terug

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"

en dit gaat een tijdje door met verschillende pakketten, voordat je niets anders teruggeeft. go envgeeft me:

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"

Hoe kan ik web.goinstalleren? Het gebruik van go get(in plaats van go install) staat in de README op de github-pagina. Mijn Go-versie is go version go1.2 linux/amd64.


Antwoord 1, autoriteit 100%

De problemen hebben betrekking op een ongeldige GOROOT.

Ik denk dat je Go hebt geïnstalleerd in /usr/local/go.
Verander dus uw GOROOT-pad in de waarde van /usr/local/go/bin.

Het lijkt erop dat u uw werkruimte (GOPATH) op /home/me/gowilde hebben.

Hiermee kan uw probleem worden opgelost.
Voeg dit toe aan de onderkant van je bash-profiel, hier te vinden => $HOME/.profile

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin

Zorg ervoor dat u de oude referenties van GOROOTverwijdert.

Probeer vervolgens web.go opnieuw te installeren.

Als dat niet werkt, laat dan Ubuntu Go voor u installeren.

sudo apt-get install golang

Video-tutorial:
http://www.youtube.com/watch?v=2PATwIfO5ag


Antwoord 2, autoriteit 36%

Ik installeerde Go with brewop OSX 10.11 en ontdekte dat ik GOROOTmoest instellen op:

/usr/local/Cellar/go/1.5.1/libexec

(Vervang natuurlijk de versie in dit pad door de go-versie die je hebt)

Brew gebruikt symbolische links die de gotool voor de gek hielden. Dus volg de links naar huis.


Antwoord 3, autoriteit 21%

Ik had precies hetzelfde probleem, na de overstap van de oude go-versie (geïnstalleerd van de oude PPA) naar nieuwere (1.2.1) standaardpakketten in ubuntu 14.04.

De eerste stap was het opschonen van bestaande go:

sudo apt-get purge golang*

Wat de volgende waarschuwingen geeft:

dpkg: warning: while removing golang-go, directory '/usr/lib/go/src' not empty so not removed
dpkg: warning: while removing golang-go.tools, directory '/usr/lib/go' not empty so not removed

Het lijkt erop dat het verwijderen van go enkele bestanden achterlaat, wat op zijn beurt de nieuwere installatie in de war kan brengen. Om precies te zijn, de installatie zelf zal goed verlopen, maar daarna geeft elk go-commando, zoals “go get something” die “niet-herkende importpad”-fouten.

Het enige wat ik hoefde te doen was eerst die mappen verwijderen, golang opnieuw installeren, en alles werkt als een tierelier (ervan uitgaande dat je ook GOPATH hebt ingesteld)

# careful!
sudo rm -rf /usr/lib/go /usr/lib/go/src
sudo apt-get install golang-go golang-go.tools

Antwoord 4, autoriteit 6%

Omdat GFW je de toegang tot golang.org verbood!
En als ik de proxy gebruik, kan het goed werken.

je kunt de informatie bekijken met commando

go get -v -u golang.org/x/oauth2


Antwoord 5, autoriteit 6%

$ unset GOROOTwerkte voor mij. Zoals de meeste antwoorden suggereren, is je GOROOT ongeldig.


Antwoord 6, autoriteit 2%

Ik had hetzelfde probleem op MacOS 10.10. En ik ontdekte dat het probleem werd veroorzaakt door OhMyZsh shell. Toen schakelde ik terug naar bash, alles ging goed.

Hier is mijn go-env

bash-3.2$ go env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/bis/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1

Antwoord 7, autoriteit 2%

De meest voorkomende oorzaken zijn:
1. Een verkeerd geconfigureerde GOROOT
OF
2. GOPATH is niet ingesteld


Antwoord 8

Ik had hetzelfde probleem nadat ik go1.2 had geüpgraded naar go1.4.

Ik hernoemde src naar _src in mijn GOPATH en deed toen een go get -v

Het werkte toen ik _src verwijderde.

Hopelijk helpt het.


Antwoord 9

Ik kwam dit probleem tegen bij het installeren van een ander pakket, en het kan worden veroorzaakt door de GOROOT- en GOPATH-configuratie op uw PATH. Ik heb de neiging om GOROOT niet in te stellen omdat mijn OS X-installatie het (denk ik) voor mij afhandelde.

  1. Zorg voor het volgende in uw .profile (of waar u uw profielconfiguratie ook opslaat: .bash_profile, .zshrc, .bashrc, enz.):

    export GOPATH=$HOME/go
    export PATH=$PATH:$GOROOT/bin
    
  2. U wilt waarschijnlijk ook unset GOROOT, voor het geval dat pad ook onjuist is.

  3. Bovendien moet je je PATH opschonen, zoals ik hieronder heb gedaan, net voor de GOPATH-opdracht, d.w.z.:

    export PATH=$HOME/bin:/usr/local/bin:$PATH
    export GOPATH=$HOME/go
    export PATH=$PATH:$GOROOT/bin
    
  4. Vervolgens source <.profile>om te activeren

  5. probeer opnieuw go get

Other episodes