如何在Ubuntu中正确安装Go语言?


12

我正在尝试按照以下说明安装云端硬盘,但无法Go正常工作。

我不断收到错误:

go tool: no such tool "6g"

当我尝试使用时go get [url]。当尝试运行hello world脚本(检查Go是否已正确安装)时,我也会收到此错误。

我已尝试安装本文中建议的单个程序(golang-go.tools gccgo-go),以解决此错误,但问题仍然存在。

我如何获得该6g工具?

以下是结果go env

GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/user/go"
GORACE=""
GOROOT="/usr/share/go"
GOTOOLDIR="/usr/share/go/pkg/tool/linux_amd64"
TERM="dumb"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CXX="g++"
CGO_ENABLED="1"

您设置了GOPATH和GOROOT吗?
Rinzwind'3

是的,首先我遇到有关GOPATH的错误。我用这个问题来找到解决方案,然后把我带到了我无法解决的下一个错误。
Bprodz

您是否需要最新版本的Go?从存档-安装Go容易得多sudo apt-get install golang
内森·奥斯曼

@NathanOsman我不这么认为,我只需要能够编译用Go语言编写的程序(去年9月)。我运行了,sudo apt-get install golang但返回0表示要升级,新安装,不返回62表示仍无法使用go getgo run。我是否需要强制apt-get覆盖我当前的Go版本?
Bprodz

Answers:


12

问题是你的GOROOT。应该将其设置为/usr/lib/gonot /usr/share/go)。

export GOROOT=/usr/lib/go

2

安装

  1. 更新。

    sudo apt-get update 
    
  2. 安装Go语言。

    sudo apt-get install golang
    
  3. 将GOPATH设置为您的主文件夹。执行此操作后,您可以使用命令echo $GOPATH检查转到路径的位置。

    export GOPATH=$HOME/gopath
    
  4. 对于GOPATH,不需要定义它。但是您仍然可以定义它。

    # Get the go installation root path.
    go env GOROOT
    
    # Set the result of `go env GOROOT` to system variable GOROOT.
    # In this example, the result of `go env GOROOT` is `/usr/lib/go-1.6`
    export GOROOT=/usr/lib/go-1.6
    

检查Go环境变量

  1. 使用命令go env,您将获得:

    GOARCH="amd64"
    GOBIN=""
    GOEXE=""
    GOHOSTARCH="amd64"
    GOHOSTOS="linux"
    GOOS="linux"
    GOPATH="/home/casper/gopath"
    GORACE=""
    GOROOT="/usr/lib/go-1.6"
    GOTOOLDIR="/usr/lib/go-1.6/pkg/tool/linux_amd64"
    GO15VENDOREXPERIMENT="1"
    CC="gcc"
    GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
    CXX="g++"
    CGO_ENABLED="1"
    
  2. 现在您可以看到:

    一种。GOPATH/home/casper/gopath

    b。GOROOT/usr/lib/go-1.6

参考文献


golang软件包正式存储在存储库中,为什么我要添加一个PPA,而这些PPA却存在问题?
安华
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.