J'essaie d'installer un web.go
, mais l'exécution de go get github.com/hoisie/web
renvoie
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"
et cela continue pendant un certain temps avec divers paquets, avant de ne rien retourner d'autre. go env
me donne:
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"
Comment puis-je installer web.go
? Utiliser go get
(plutôt que go install
) est ce qui est dans le README sur la page github. Ma version de Go est go version go1.2 linux/AMD64
.
Les problèmes concernent une variable GOROOT
non valide.
Je pense que vous avez installé Go in /usr/local/go
.
Modifiez donc votre chemin GOROOT
avec la valeur /usr/local/go/bin
.
Il semble que vous vouliez avoir votre espace de travail (GOPATH) situé à /home/me/go
.
Cela pourrait résoudre votre problème.
Ajoutez ceci au bas de votre profil bash, situé ici => $HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin
Assurez-vous de supprimer les anciennes références de GOROOT
.
Ensuite, essayez d’installer à nouveau web.go.
Si cela ne fonctionne pas, installez Ubuntu alors Go for you.
Sudo apt-get install golang
Didacticiel vidéo: http://www.youtube.com/watch?v=2PATwIfO5ag
J'ai installé Go avec brew
sur OSX 10.11 et ai constaté que je devais définir GOROOT
sur:
/usr/local/Cellar/go/1.5.1/libexec
(Bien sûr, remplacez la version dans ce chemin avec la version que vous avez)
Brew utilise des liens symboliques, qui trompaient le gotool. Alors suivez les liens à la maison.
J'ai eu exactement le même problème, après le passage de l'ancienne version de go (installée à partir de l'ancien PPA) vers des packages par défaut plus récents (1.2.1) dans Ubuntu 14.04.
La première étape consistait à purger les aller existants:
Sudo apt-get purge golang*
Quelles sorties suivent les avertissements:
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
Il semble que la suppression de go laisse quelques fichiers derrière, ce qui peut à son tour confondre une nouvelle installation. Plus précisément, l’installation elle-même s’achèvera très bien, mais toute commande go, comme "go get quelque chose", donnera ces erreurs "chemin d’importation non reconnu".
Tout ce que j'avais à faire était de supprimer ces répertoires en premier, de réinstaller golang, et tout fonctionne comme un charme (en supposant que vous définissiez également GOPATH)
# careful!
Sudo rm -rf /usr/lib/go /usr/lib/go/src
Sudo apt-get install golang-go golang-go.tools
Parce que GFW vous a interdit d'accéder à golang.org!.
vous pouvez consulter les informations à l'aide de la commande
go get -v -u golang.org/x/oauth2
$ unset GOROOT
a travaillé pour moi. Comme la plupart des réponses suggèrent que votre GOROOT est invalide.
J'ai eu le même problème sur MacOS 10.10. Et j'ai trouvé que le problème causé par OhMyZsh Shell. Puis je suis retourné à Bash tout s'est bien passé.
Voici mon 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
J'avais un problème similaire. Mais c’est uniquement parce que le paquet que j’installais ne se trouve pas dans le répertoire $GOPATH/src/
; quand j’y ai installé tout fonctionnait correctement (sauf que le nom du paquet est différent du problème).
Les causes les plus courantes sont:
1. Un GOROOT mal configuré
OU
2. GOPATH n'est pas défini
J'ai rencontré ce problème lors de l'installation d'un autre package. La configuration de GOROOT et GOPATH sur votre PATH pourrait en être la cause. J'ai tendance à ne pas définir GOROOT car mon installation OS X l'a géré (je crois) pour moi.
Vérifiez les éléments suivants dans votre fichier .profile (ou à tout endroit où vous stockez la configuration de profil: .bash_profile, .zshrc, .bashrc, etc.):
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin
En outre, vous souhaiterez probablement unset GOROOT
, au cas où ce chemin serait également incorrect.
De plus, assurez-vous de nettoyer votre PATH, comme ce que j’ai fait ci-dessous, juste avant la mission GOPATH, c.-à-d.:
export PATH=$HOME/bin:/usr/local/bin:$PATH
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin
Ensuite, source <.profile>
pour activer
go get
J'ai eu le même problème après avoir mis à niveau go1.2 à go1.4.
J'ai renommé src en _src dans mon GOPATH puis j'ai fait un go get -v
Cela a fonctionné alors j'ai supprimé _src.
J'espère que ça aide.