Go安装部署
1. Go环境变量
Go 开发环境依赖于一些操作系统环境变量,你最好在安装 Go 之前就已经设置好他们。如果你使用的是 Windows 的话,你完全不用进行手动设置,Go 将被默认安装在目录 c:/go 下。这里列举几个最为重要的环境变量:
- $GOROOT 表示Go在你的电脑上安装位置,它的值一般都是$HOME/go;
- $GOARCH 表示目标机器的处理器架构,它的值可以是386、amd64或arm;
- $GOOS 表示目标机器的操作系统,它的值可以是darwin、freebsd、linux或Windows;
- $GOBIN 表示编译器和链接器的安装位置,默认是$GOROOT/bin;
目标机器是🈯️你打算运行你的Go应用程序的机器;
Go编译器支持交叉编译,也就是说你可以在一台机器上构建运行在具有不同操作系统和处理器架构上运行的应用程序,也就是说编写源代码的机器可以和目标机器有完全不同的特性(操作系统与处理器架构);
为了区分本地机器和目标机器,你可以使用$GOHOSTOS和$GOHOSTARCH设置本地机器的操作系统名称和编译体系结构,这两个变量只有在进行交叉编译的时候才会用到,如果你不进行显示设置,他们的值会和本地机器($GOOS和$GOARCH)一样;
- $GOPATH 默认采用和$GOROOT一样的值,但从Go 1.1版本开始,必须修改为其他路径,它可以包含多个Go语言源码文件、包文件和可执行文件的路径,而这些路径下又必须分别包含三个规定的目录:src、pkg和bin,这三个目录分别用于存放源码文件、包文件和可执行文件;
- $GOARM 专门针对基于arm架构的处理器,它的值可以是5或6,默认为6;
- $GOMAXPROCS 用于设置应用程序可使用的处理器个数与核数;
2. 在Linux上安装Go
- 安装包直接安装:
wget https://golang.org/dl/go1.15.2.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.15.2.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
go version
- 源码编译安装:
- 设置环境变量:
export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/Applications/Go
export GOROOT_BOOTSTRAP=$HOME/go1.4
- 设置环境变量:
$GOPATH 可以包含多个工作目录,取决于你的个人情况;如果设置了多个工作目录,当你在之后使用go get
(远程包安装命令)时远程包会被安装在第一个目录下;
- 安装C工具:
ubuntu:apt-get install bison ed gawk gcc libc6-dev make
- 安装: ``` git clone https://github.com/golang/go.git $HOME/go1.4 git checkout -b release-branch.go1.4 origin/release-branch.go1.4
cd $HOME/go1.4/src ./make.bash
cd $HOME/go/src ./all.bash
<a name="47f0adea"></a>
### 3. 在MAC上安装
- 下载安装包:
https://golang.org/dl/go1.15.2.darwin-amd64.pkg
- 安装<br />打开下载软件包,按照提示按安装:<br />该软件包将Go发行版安装到/usr/local/go,会将/usr/local/go/bin目录放入PATH环境变量中;
- 验证
go version go version go1.14.9 darwin/amd64
- 升级Go:<br />下载最新版的安装包,然后直接安装即可;
<a name="9d132a99"></a>
### 4. Windows安装:
- 下载安装包:
https://golang.org/dl/go1.15.2.windows-amd64.msi ```
- 安装:
打开安装包,按照提示安装Go;
完成安装包的安装之后,只需要配置$GOPATH即可,其他的环境变量会自动设置的;
默认情况下,Go将会被安装在目录c:\go下,但如果你在安装过程中修改安装目录,则可能需要手动修改所有的环境变量的值; - 验证:
cmd —> go verison
5. 安装目录清单
你的Go安装目录($GOROOT)的文件夹结构应该有如下所示:
README.md,AUTHORS,CONTRIBUTORS,LICENSE
- /bin: 包含可执行文件,如:编译器,Go工具;
- /doc:包含示例程序,代码工具,本地文档等;
- /lib:包含文档模版;
- /misc: 包含与支持Go编辑器有关的配置文件以及cgo的示例;
- /os_arch:包含标准库的包的对象文件(.a)
- /src: 包含源代码构建脚本和标准库的包的完整源代码
- /src/cmd: 包含Go和C的编译器和命令行脚本