在ubuntu上进行设置

Fre*_*all 3 ubuntu go

我试图在Ubuntu上设置一个go dev环境,但没有运气.按照以下说明https://github.com/golang/go/wiki/Ubuntu

sudo apt-get install golang
Run Code Online (Sandbox Code Playgroud)

然后我

mkdir $HOME/golang
export GOPATH=$HOME/golang
Run Code Online (Sandbox Code Playgroud)

没有骰子.即使做一些简单的事情也会go version引发以下错误:

go: cannot find GOROOT directory: /usr/local/opt/go/libexec
Run Code Online (Sandbox Code Playgroud)

我在网上看到的任何地方都说根本就没有设置GOROOT.请帮帮忙,我不明白从哪里开始.这是新VM上的全新安装.


GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/isaac/golang"
GORACE=""
GOROOT="/usr/local/opt/go/libexec"
GOTOOLDIR="/usr/local/opt/go/libexec/pkg/tool/linux_amd64"
TERM="dumb"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CXX="g++"
CGO_ENABLED="1"
Run Code Online (Sandbox Code Playgroud)

sad*_*lil 8

在我安装的ubuntu机器上,按照以下简单步骤操作:

$ wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz
$ sudo tar -C /usr/local -xzf go1.4.2.linux-amd64.tar.gz
$ rm go1.4.2.linux-amd64.tar.gz
Run Code Online (Sandbox Code Playgroud)

添加转到$ PATH变量

$ mkdir $HOME/go
$ nano ~/.bashrc
export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
$ source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

这工作得很好.


Fre*_*all 6

所以我最终想通了这一点,我的孩子是愚蠢的。我有一个有效的脚本$GOROOT,并且学到了很多东西。以下是重要的教训:

  • 不要使用sudo apt-get install golang它已经过时,这样做意味着您现在必须恢复安装。sudo apt-get install golang-go也已经过时了。只是不要使用apt-get.
  • sudo apt-get purge golang 不会重置环境变量或删除所有与 go 相关的文件夹。
  • unset GOPATH GOHOME GOROOT 在尝试另一个安装之前进行重要的清理

  • 只能通过tar.gzgolang 网站安装

  • GOROOT 是指 go 内部文件所在的文件夹,所以基本上是系统上存在的内容tar.gz。通常/usr/local/go
  • GOHOME 不需要设置。如果您设置它,请使用unset
  • GOPATH 是您工作区的位置,您需要mkdir创建该文件夹并设置 GOPATH 环境变量。
  • 需要包含您的路径才能$GOROOT/bin:$GOPATH/bin使设置正常运行。

自定义脚本的使用情况影响.zshrcbashrcprofile不应该包含的设置$GOROOT