如何在Debian 9 Stretch安装Golang 1.8
Go(golang)是由谷歌开发的开源编程语言。
它于2009年底发布。
它使得简单,可靠和高效的软件易于构建。
Docker,Kubernetes,OpenShift, Influx 和许多其他流行的工具都是写入的。
Golang在大多数Linux发行版中都没有预装,尽管其安装包最有可能在官方存储库或者分发的外部PPA中提供。
但是,通常,这些包在最新的一个或者两个版本后面。
最好从源安装最新版本,它很容易。
本教程将通过下载和安装Go 1. 8在Debian9上进行,以及建立简单的Hello World应用程序。
安装Go 1.8
通过执行下面的命令更新和升级计算机上的软件包。
第一个命令将更新存储库中可用的包列表。
第二个命令将确保我们拥有最新的安全修补程序和修复。
此步骤是可选的。
$sudo apt-get update $sudo apt-get -y upgrade
使用"wget"或者"curl -o"命令下载Go Package,它将将Go二进制存档拉动并将其保存在当前的工作目录中。
查找最新版本的GO,请访问官方下载页面。
我将使用wget命令下载go binary存档。
$wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
现在使用Tar命令提取下载的存档,并在所需位置安装它。
我将使用/usr/local作为安装目录,我们可以使用更喜欢某些位置可访问多个用户的共享托管。
下面的第一个命令将提取GO归档,第二个命令将提取的GO目录移动到/usr/local。
$tar -xvf go1.8.3.linux-amd64.tar.gz $mv go//usr/local
我们已成功安装Go 1. 8.现在,让我们设置Go环境。
设置Go环境
要设置GO环境,我们需要设置3个环境变量。
1.系统上安装Go Package的Goroot位置。
- GOPATH位置的工作目录或者工作区。
3.访问Go二进制系统宽的路径。
设置Goroot环境变量。
这是我们在上一步中讨论的Go安装目录,在我的情况下,它是/usr/local/go。
设置Goroot环境变量。
这是我们在上一步中讨论的Go安装目录,在我的情况下,它是/usr/local/go。
$export GOROOT=/usr/local/go
gopath是Go工作区的位置。
在我的情况下,它是$home/work/goproj
$export GOPATH=$HOME/work/goproj
现在将路径变量设置为访问Go二进制系统宽。
$export PATH=$GOROOT/bin:$GOPATH/bin:$PATH
仅为当前会话设置了这3个环境变量,以使其永久添加~/。
配置文件文件。
测试Go安装
成功安装和设置Go环境后,是时候测试它了。
执行以下命令以检查已安装的GO版本。
$go version go version go1.8.3 linux/amd64
我们还可以通过以下命令查看所有设置GO环境变量。
$go env GOARCH="amd64" GOBIN="" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOOS="linux" GOPATH="/home/pradip/work/goproj/" GORACE="" GOROOT="/usr/local/go" GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64" GCCGO="gccgo" CC="gcc" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0" CXX="g++" CGO_ENABLED="1" PKG_CONFIG="pkg-config" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2"
现在让我们使用Go运行简单的Hello World程序。
创建目录$gopath/src/hello。
$mkdir -p $GOPATH/src/hello
创造新的你好。
在$gopath/src/hello和粘贴以下内容下的文件。
package main import "fmt" func main() { fmt.Printf("hello, world\n") }
现在,通过执行下面的命令编译上面的文件。
$go install hello
成功编译后,我们可以通过简单地引用Go路径的文件来运行它。
$$GOPATH/bin/hello hello, world