Mac OSX下Go语言环境搭建过程及遇见的一些问题

Gopher

一直对Google的Go很好奇,最近看到Go的开发团队专门做了Go tour来帮助开发者学习,就决定尝试下。

本来感觉一个很简单的环境搭建却出现了几个意想不到的问题,所以有必要 

一.安装

Go的官网上有安装指南,看了下,决定用brew下载安装,简单方便。

$ brew install go

安装后输入go可以查看一些命令的使用。

看下版本

$ go version

go version go1.1.2 darwin/amd64

安装包会自动安装在 /usr/local/Cellar/go目录下。

二.配置

安装好后,在/usr/local/Cellar/go/1.1.2/libexec/misc中,可以看到有很多编辑器版本, 在其下可以自动配置不同编辑器来使用Go开发。

配置$GOPATH和$GOROOT

输入以下命令来查看环境变量

$ go env

GOARCH=”amd64″

GOBIN=”"

GOCHAR=”6″

GOEXE=”"

GOHOSTARCH=”amd64″

GOHOSTOS=”darwin”

GOOS=”darwin”

GOPATH=”/Users/Jackie/gocode”

GORACE=”"

GOROOT=”/usr/local/Cellar/go/1.1.2/libexec”

GOTOOLDIR=”/usr/local/Cellar/go/1.1.2/libexec/pkg/tool/darwin_amd64″

CC=”gcc”

GOGCCFLAGS=”-g -O2 -fPIC -m64 -pthread -fno-common”

CGO_ENABLED=”1″

$GOROOT是go的安装路径,配置后可直接在终端执行相关命令。注:Go 1.0之后安装包自带的Go tool会自动设置。

$GOPATH用来设置workspaces,即工作路径,可以设置多个。在Go  1.1之后被强制要求设置。具体见官方文档GoLang.org

关于这个$GOPATH,我安装时报错不断,真是让人头痛。

开始一直提示”$GOPATH not set.”,尝试了Stack Overflow上所有的方法,都没用,最后索性不弄了。没想到第二次打开又可以了,难道要重启?

后来就是在安装gotour时出现的一个问题,下面再说。

三.安装Gotour 

首先需要hg(Mercurial),这是一个跨平台的分布式版本控制软件。安装后可以使用hg等命令。

当然,我还是用brew安装

$ brew install hg

安装成功后后输入hg命令会出现Mercurial的相关使用信息。

接下来需要建立$GOPATH所需要的目录,下面是官方给出的一个例子

 GOPATH=/home/user/gocode

 

    /home/user/gocode/

        src/

            foo/

                bar/               (go code in package bar)

                    x.go

                quux/              (go code in package main)

                    y.go

        bin/

            quux                   (installed command)

        pkg/

            linux_amd64/

                foo/

                    bar.a          (installed package object)

按照官方文档,这时在终端下使用

$ sudo go get code.google.com/p/go-tour/gotour 

就可以安装Go tour了

如果安装中文的话地址改为

$ sudo go get bitbucket.org/mikespook/go-tour-zh/gotour

注:中文地址我始终不能下,貌似被qiang了。

不过我安装的时候又出现了问题,

abort: error: EOF occurred in violation of protocol  

package code.google.com/p/go-tour/gotour: exit status 255 

反复尝试无果后,决定用hg直接手动下载

$ hg clone https://code.google.com/p/go-tour/

再复制

cp -r go-tour $GOPATH/src/pkg/code.google.com/p/go-tour/gotour

再安装

cd $GOPATH/src/pkg/code.google.com/p/go-tour/gotour

go install ./

这时gotour就安装到$GOPATH/bin目录下了

屏幕快照 2013 11 26 17 09 26

进入这个目录打开它就行了

$ ls $GOPATH/bin

$ gotour

2013/11/26 15:48:56 Serving content from /Users/Jackie/gocode/src/code.google.com/p/go-tour

2013/11/26 15:48:56 A browser window should open. If not, please visit http://127.0.0.1:3999

这时会自动打开浏览器,如图

屏幕快照 2013 11 26 17 13 13

最后终于弄好了,不过不能每次都进这个目录再输入命令吧。

再配置一下bashrc就可以了。

$ sudo vi /etc/bashrc

然后在下面加上

#Go tour

alias gotour=’/Users/Jackie/gocode/bin/gotour’

这样就完美了。

大功告成,赶快体验一下。

 

写的不好,如有错误欢迎指出。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">