繁体   English   中英

如何修复GOROOT和GOPATH变量以运行go?

[英]How do I fix my GOROOT and GOPATH variables to run go?

作业系统:Ubuntu 14.04

.bashrc中的行(尝试了以下两项)

# GoPath (without goroot)
export GOPATH=$HOME/gowork

...

# GoPath (with goroot)
export GOROOT=/usr/local/go
export GOPATH=$HOME/gowork

注意:我尝试按照不同的人的建议,先在.profile中,然后在.bashrc中设置上述环境变量。

试图运行以下代码

package main

import "fmt"

func main() {
    fmt.Println("Hello World!")
}

终端中的错误消息

go run helloworld.go 
helloworld.go:3:8: cannot find package "fmt" in any of:
    /usr/local/go/src/pkg/fmt (from $GOROOT)
    /home/arif/gowork/src/fmt (from $GOPATH)
package runtime: cannot find package "runtime" in any of:
    /usr/local/go/src/pkg/runtime (from $GOROOT)
    /home/arif/gowork/src/runtime (from $GOPATH)

编辑

去环境输出

GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/arif/gowork"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"

去版本输出

go version go1.3.3 linux/amd64

一个提示

我记得我从中安装的tar是go1.6.linux-amd64.tar.gz,这意味着应该显示go版本1.6,但是我的终端输出的是1.3.3。

除非知道为什么要设置它,否则通常不必设置$GOROOT

假定Go的“正常”安装。 如果您已移动go二进制文件或删除了pkg或src文件夹,则里程可能会有所不同。

另外,请确保在您要使用的版本之前,在$ PATH中找不到较旧的go版本。

在这种情况下,@ Bangash必须删除旧的/ usr / bin / go并将/ usr / local / go / bin添加到他的PATH环境变量中。

人们通常在多个版本的go之间切换时使用$ GOROOT

请阅读评论以及聊天以获取解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM