龙空技术网

在 Linux 上安装 Go

兴雪婧桐 24

前言:

此时大家对“ubuntu安装gawk”大致比较关心,同学们都需要剖析一些“ubuntu安装gawk”的相关知识。那么小编同时在网络上网罗了一些对于“ubuntu安装gawk””的相关资讯,希望咱们能喜欢,我们快快来学习一下吧!

2.3 在 Linux 上安装 Go

如果你能够自己下载并编译 Go 的源代码的话,对你来说是非常有教育意义的。

我们接下来一步步地完成安装过程。

设置 Go 环境变量

我们在 Linux 系统下一般通过文件 $HOME/.bashrc 配置自定义环境变量,根据不同的发行版也可能是文件 $HOME/.profile,然后使用 gedit 或 vi 来编辑文件内容。

export GOROOT=$HOME/go

为了确保相关文件在文件系统的任何地方都能被调用,你还需要添加以下内容:

export PATH=$PATH:$GOROOT/bin

在开发 Go 项目时,你还需要一个环境变量来保存你的工作目录。

export GOPATH=$HOME/Applications/Go

$GOPATH 可以包含多个工作目录,取决于你的个人情况。如果你设置了多个工作目录,那么当你在之后使用 go get(远程包安装命令)时远程包将会被安装在第一个目录下。

在完成这些设置后,你需要在终端输入指令 source .bashrc 以使这些环境变量生效。然后重启终端,输入 go env 和 env 来检查环境变量是否设置正确。

安装 C 工具

Go 的工具链是用 C 语言编写的,因此在安装 Go 之前你需要先安装相关的 C 工具。如果你使用的是 Ubuntu 的话,你可以在终端输入以下指令( 译者注:由于网络环境的特殊性,你可能需要将每个工具分开安装 )。

sudo apt-get install bison ed gawk gcc libc6-dev make

你可以在其它发行版上使用 RPM 之类的工具。

获取 Go 源代码

从 官方页面 或 国内镜像 下载 Go 的源码包到你的计算机上,然后将解压后的目录 go 通过命令移动到 $GOROOT 所指向的位置。

wget ;VERSION>.src.tar.gz

tar -zxvf go<VERSION>.src.tar.gz

sudo mv go $GOROOT

构建 Go

在终端使用以下指令来进行编译工作。

cd $GOROOT/src

./all.bash

编译注意事项

编译时如果出现如下报错:

可能是因为 $GOROOT_BOOTSTRAP 变量没有设置。这个目录在安装 Go 1.5 版本及之后的版本时需要设置。

由于在 1.4 版本后,Go 编译器实现了自举,即通过 1.4 版本来编译安装之后版本的编译器。如果不设置该环境变量的话,会产生这样一个错误 Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4. 。

设置 $GOROOT_BOOTSTRAP 变量:

export GOROOT_BOOTSTRAP=$HOME/go1.4

设置完成后,下载 1.4 版本的源码到该目录:

git clone $HOME/go1.4

git checkout -b release-branch.go1.4 origin/release-branch.go1.4

进入 1.4 的文件夹后,进行编译:

cd $HOME/go1.4/src

./make.bash

1.4 编译安装好之后,进入 $GOROOT 文件夹,真正开始编译安装 Go:

cd $HOME/go/src

./all.bash

在完成编译之后(,你会在终端看到如下信息被打印:

注意事项

在测试 net/http 包时有一个测试会尝试连接 google.com,你可能会看到如下所示的一个无厘头的错误报告:

‘make[2]: Leaving directory `/localusr/go/src/pkg/net’

如果你正在使用一个带有防火墙的机器,我建议你可以在编译过程中暂时关闭防火墙,以避免不必要的错误。

解决这个问题的另一个办法是通过设置环境变量 $DISABLE_NET_TESTS 来告诉构建工具忽略 net/http 包的相关测试:

export DISABLE_NET_TESTS=1

如果你完全不想运行包的测试,你可以直接运行 ./make.bash 来进行单纯的构建过程。

测试安装

使用你最喜爱的编辑器来输入以下内容,并保存为文件名 hello_world1.go。

示例 2.1 hello_world.go

package main

func main() {

println("Hello", "world")

}

切换相关目录到下,然后执行指令 go run hello_world1.go,将会打印信息:Hello, world。

验证安装版本

你可以通过在终端输入指令 go version 来打印 Go 的版本信息。

如果你想要通过 Go 代码在运行时检测版本,可以通过以下例子实现。

示例 2.2 version.go

package main

import (

"fmt"

"runtime"

)

func main() {

fmt.Printf("%s", runtime.Version())

}

这段代码将会输出 go1.4.2 或类似字符串。

更新版本

你可以在 发布历史 页面查看到最新的稳定版。

当前最新的稳定版 Go 1 系列于 2012 年 3 月 28 日发布。

Go 的源代码有以下三个分支:

- Go release:最新稳定版,实际开发最佳选择

- Go weekly:包含最近更新的版本,一般每周更新一次

- Go tip:永远保持最新的版本,相当于内测版

当你在使用不同的版本时,注意官方博客发布的信息,因为你所查阅的文档可能和你正在使用的版本不相符。

标签: #ubuntu安装gawk #ubuntu16安装go19