Go语言环境安装详细介绍(2)

go 会将安装位置记录到二进制的GOROOT变量中,如果需要调整安装目录,可以设置$GOROOT_FINAL=/path/to/goTree, 这样编译完后会提示将/tmp/go移动到
/path/to/goTree目录(这个参数只能在编译阶段有效,如果在编译后移动Go tree则参考步骤5)。

$ ls /tmp/go -F api/ AUTHORS bin/ CONTRIBUTORS doc/ favicon.ico include/ lib/ LICENSE misc/ PATENTS pkg/ README robots.txt src/ test/ VERSION $ ls /tmp/go/bin #源码包自带的二进制工具命令, 没有 godoc go gofmt $ ls /tmp/go/pkg/tool/linux_amd64/ addr2line asm cgo compile dist doc fix link nm objdump pack pprof tour yacc $ /tmp/go/bin/go env |grep -E 'GOROOT|GOTOOLDIR' GOROOT="/tmp/go" #可见Go tree被安装到预期位置 GOTOOLDIR="/tmp/go/pkg/tool/linux_amd64"

将/tmp/go/bin加入到PATH中,即可使用。

移动 Go 源码目录

可以将编译过的Go Tree移动到其它目录,然后修改GOROOT环境变量即可。

$ mkdir /tmp/xxx $ export GOROOT=/tmp/xxx $ mv * /tmp/xxx $ /tmp/xxx/bin/go env |grep -E 'GOROOT|GOTOOLDIR' GOROOT="/tmp/xxx" #Go tree和工具链自动调整 GOTOOLDIR="/tmp/xxx/pkg/tool/linux_amd64" #设置PATH和GOPATH $ export PATH=/tmp/xxx/bin:$PATH $ which go /tmp/xxx/bin/go $ go version go version go1.4 linux/amd64

安装额外的工具如godoc, vet, cover(二进制发布版中包含这些工具,无需额外安装):

一些Go工具位于go.tools仓库中,需要额外安装。

$ #安装所有工具: $ go get golang.org/x/tools/cmd/... #...是通配符,参考: go help packages $ go get golang.org/x/tools/cmd/godoc #只安装godoc工具 $ ls bin/ #多了godoc go godoc gofmt $ ls pkg/tool/linux_amd64/ #多了vet,cover addr2line asm cgo compile cover dist doc fix link nm objdump pack pprof tour trace vet yacc

go 命令会将godoc安装到$GOROOT/bin或者$GOBIN,其它的go tool如cover、vet安装到$GOROOT/pkg/tool/$GOOS_$GOARCH。可以用go tool cover或go tool vet命令来调用后面目录中的程序。

工具链测试

创建和设置GOPATH(非必须):

$ mkdir -p $HOME/go/{src,bin,pkg} $ export GOPATH=$HOME/go $ mkdir $HOME/go/src/demo $ cd !$

编写一个测试文件如 hello.go

package main import "fmt" func main() { fmt.Printf("hello, world\n") }

编译并执行, -x选项可以打印出编译过程

$ go build -x demo.go WORK=/tmp/go-build333633893 mkdir -p $WORK/command-line-arguments/_obj/ mkdir -p $WORK/command-line-arguments/_obj/exe/ cd /home/ksyun/golang/src /home/ksyun/local/go/pkg/tool/linux_amd64/compile -o $WORK/command-line-arguments.a -trimpath $WORK -p main -complete -buildid ed5feda32ea5b5ab51ac7fe9d1193005f6f99836 -D _/home/ksyun/golang/src -I $WORK -pack ./demo.go cd . /home/ksyun/local/go/pkg/tool/linux_amd64/link -o $WORK/command-line-arguments/_obj/exe/a.out -L $WORK -extld=gcc -buildmode=exe -buildid=ed5feda32ea5b5ab51ac7fe9d1193005f6f99836 $WORK/command-line-arguments.a mv $WORK/command-line-arguments/_obj/exe/a.out demo hello, world

环境变量(可选)

编译工具链可以使用以下环境变量进行配置;

参考

Getting Started

Installing Go from source

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14893.html