“无法识别的导入path”与go get

我试图安装一个web.go ,但运行go get github.com/hoisie/web返回

 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" 

而且这个包持续了一段时间,然后再没有别的东西了。 go env给我:

 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" 

我怎样才能安装web.go ? 使用go get (而不是go install )是在github页面上的README里面。 我的Go版本是go version go1.2 linux/amd64

这些问题涉及无效的GOROOT

我想你安装在/usr/local/go
所以把你的GOROOTpath改为/usr/local/go/bin

看起来你的工作空间(GOPATH)位于/home/me/go

这可能会解决您的问题。
把它添加到你的bashconfiguration文件的底部,位于这里=> $HOME/.profile

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

确保删除旧的GOROOT参考。

然后再次尝试安装web.go。

如果这不起作用,那么请让Ubuntu为你安装Google Go。

sudo apt-get install golang

video教程http://www.youtube.com/watch?v=2PATwIfO5ag

从旧的版本(从旧的PPA安装)转移到新的(1.2.1)在Ubuntu 14.04默认软件包后,我有完全相同的问题。

第一步是清除现有的走:

 sudo apt-get purge golang* 

哪个输出以下警告:

 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 

它看起来像删除去留下一些文件,这反过来可以混淆新安装。 更确切地说,安装本身将会很好地完成,但是之后的任何命令,比如“go something”,都会给出那些“无法识别的导入path”的错误。

我所要做的就是先删除这些dirs,重新安装golang,并且所有的作品都像魅力一样(假设你也设置了GOPATH)

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

我在OSX 10.11上安装了Go,发现我必须将GOROOT设置为:

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

(当然用你所拥有的版本replace这个path中的版本)

Brew使用符号链接,这是愚弄gotool。 所以请按照链接回家。

因为GFW禁止你访问golang.org! 而当我使用代理,它可以很好地工作。

您可以使用命令go get -v -u golang.org/x/oauth2来查看信息

我在MacOS 10.10上遇到同样的问题。 而我发现这个问题是由OhMyZsh shell造成的。 然后我切换回bash一切正常。

这是我去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 

升级了go1.2到go1.4之后,我遇到了同样的问题。

我在我的GOPATH中将src重命名为_src,然后go get -v

它工作,然后我删除_src。

希望能帮助到你。

我有一个类似的问题。 但那只是因为我安装的软件包不在$GOPATH/src/目录中,当我安装在那个目录下时,一切正常(除了软件包名称不同而引起的问题,但是我使用了Makefile来构build,所以可能不会与你的问题有关)。