我正在尝试安装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
。
答案 0 :(得分:86)
问题与无效GOROOT
有关。
我认为你在/usr/local/go
安装了Go
因此,将GOROOT
路径更改为/usr/local/go/bin
的值。
似乎您的工作空间(GOPATH)位于/home/me/go
。
这可能会解决您的问题
将其添加到bash配置文件的底部,位于此处=> $HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin
请务必删除GOROOT
。
然后再次尝试安装web.go。
如果这不起作用,那么让Ubuntu为你安装Go。
sudo apt-get install golang
答案 1 :(得分:28)
我在OSX 10.11上安装了Go brew
,发现我必须将GOROOT
设置为:
/usr/local/Cellar/go/1.5.1/libexec
(当然使用go版本替换此路径中的版本)
Brew使用符号链接,它们欺骗了gotool。请点击主页链接。
答案 2 :(得分:21)
在从旧版本(从旧PPA安装)迁移到ubuntu 14.04中较新的(1.2.1)默认软件包之后,我遇到了完全相同的问题。
第一步是清除现有的go:
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后面的一些文件,这反过来会混淆更新的安装。更确切地说,安装本身会很好,但是之后任何go命令,比如“go get something”都会给出那些“无法识别的导入路径”错误。
我所要做的就是首先移除那些dirs,重新安装golang,并且所有工作都像魅力(假设你也设置了GOPATH)
# careful!
sudo rm -rf /usr/lib/go /usr/lib/go/src
sudo apt-get install golang-go golang-go.tools
答案 3 :(得分:5)
因为GFW禁止你访问golang.org! 当我使用代理时,它可以很好地工作。
您可以使用命令查看信息
go get -v -u golang.org/x/oauth2
答案 4 :(得分:2)
我在MacOS 10.10上遇到了同样的问题。而且我发现OhMyZsh shell引起的问题。然后我切换回bash一切顺利。
这是我的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
答案 5 :(得分:1)
$ unset GOROOT
为我工作。大多数答案都表明您的GOROOT无效。
答案 6 :(得分:0)
将go1.2升级到go1.4之后我遇到了同样的问题。
我在我的GOPATH中将src重命名为_src,然后执行了go get -v
然后我删除了_src。
希望它有所帮助。
答案 7 :(得分:0)
我在安装不同的软件包时遇到了这个问题,它可能是由PATH上的GOROOT和GOPATH配置引起的。我倾向于不设置GOROOT,因为我的OS X安装为我处理它(我相信)。
确保.profile中的以下内容(或存储配置文件配置的位置:.bash_profile,.zshrc,.bashrc等):
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin
另外,如果路径也不正确,您可能也希望unset GOROOT
。
此外,请确保在GOPATH分配之前清理PATH,类似于我在下面所做的,即:
export PATH=$HOME/bin:/usr/local/bin:$PATH
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin
然后,source <.profile>
激活
go get
答案 8 :(得分:-1)
最常见的原因是:
1.配置错误的GOROOT
OR
2.未设置GOPATH