如何修复我的 GOROOT 和 GOPATH 变量以运行 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)

编辑

去 env 输出

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。


千巷猫影
浏览 256回答 1
1回答

呼如林

$GOROOT除非您知道为什么要设置,否则您通常不必进行设置。这假设 Go 的“正常”安装。如果你移动了 go 二进制文件,或者删除了 pkg 或 src 文件夹,你的里程可能会有所不同。另外,请确保在您打算使用的版本之前在 $PATH 中找不到旧版本的 go。在这种情况下,@Bangash 必须删除旧的 /usr/bin/go 并将 /usr/local/go/bin 添加到他的 PATH 环境变量中。通常人们在 go 的多个版本之间切换时使用 $GOROOT。请阅读评论以及聊天以获取解决方案。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go