如何在Debian 8上安装Go

介绍

Go,也称为golang,是由Google开发的一种现代开源编程语言。Go在许多应用程序中越来越受欢迎,它采用极简主义的开发方法,帮助您构建可靠,高效的软件。

本教程将指导您下载和安装Go,以及在Debian 8服务器上编译和执行“Hello,World!”程序。

准备

本教程使用前提是您可以访问Debian 8服务器,该服务器配置了非root用户,该用户具有Debian 8的初始服务器设置中所述的sudo权限。

没有服务器的用户可以通过装有Debian系统的腾讯云服务器来安装Go.

第1步 - 下载Go

在此步骤中,我们将在您的服务器上安装Go。访问Go官方下载页面,找到当前二进制版本的tarball的URL。确保复制与64位体系结构兼容的最新版本链接。

从您的主目录,用curl检索tarball:

$ curl -O https://dl.google.com/go/go1.10.2.linux-amd64.tar.gz

虽然tarball来源可靠,但最好还是验证从Internet下载的项目的真实性和完整性。此验证方法可证明文件在下载过程中既未被篡改也未被破坏或损坏。该sha256sum命令生成唯一的256位哈希值:

$ sha256sum go1.10\*.tar.gz
4b677d698c65370afa33757b6954ade60347aaca310ea92a63ed717d7cb0c2ff

将输出中的哈希值与Go下载页面上的校验和值进行比较。如果它们匹配,则可断定下载是合法的。下载Go并验证文件的完整性之后,我们开始安装。

第2步 - 安装Go

我们用tar来解压tarball。x的作用是告诉tar解压,v的作用是详细输出(提取文件的列表),f的作用是指定文件名:

$ tar xvf go1.10.2.linux-amd64.tar.gz

您现在应该在主目录中加入一个目录go。递归地改变go的所有者并将其归到root中,并将其移动到/usr/local:

$ sudo chown -R root:root ./go
$ sudo mv go /usr/local

注意:虽然/usr/local/go是官方推荐的位置,但有些用户可能更喜欢或需要不同的路径。

此时,使用Go将需要在命令行中指定其安装位置的完整路径。为了与Go进行交互时用户体验更好,我们将设置一些路径。

第3步 - 设置Go路径

在此步骤中,我们将设置一些路径。首先,设置Go的根目录值,告诉Go在哪里查找文件。

$ nano \~/.profile

在文件的末尾,添加以下行:

〜/.profile
...
export GOPATH=\$HOME/work
export PATH=\$PATH:/usr/local/go/bin:\$GOPATH/bin

如果为Go选择备用安装位置,请将这些行添加到同一文件中。此示例可显示主目录中是否已经安装Go的命令:

〜/.profile
...export GOROOT=\$HOME/go
export GOPATH=\$HOME/work
export PATH=\$PATH:\$GOROOT/bin:\$GOPATH/bin

将适当的行粘贴到您的配置文件中,保存并关闭该文件。接下来,通过运行来刷新您的profile

$ source \~/.profile

安装了Go以后,让我们通过编写一个简短的程序来确认我们的设置是有效的。

第4步 - 测试您的安装

现在已经安装了Go并为您的服务器设置了路径,您可以进行测试以确保Go按预期工作。

为Go工作区创建一个新目录,在此目录下Go可以建立其文件:

$ mkdir \$HOME/work

然后,在此文件夹中创建目录层次结构,以便您创建测试程序文件。我们以目录my_project作为示例。

$ mkdir -p work/src/my_project/hello

接下来,您可以创建传统的“Hello World”Go文件。

$ nano \~/work/src/my_project/hello/hello.go

在编辑器中,粘贴下面的代码,使用主Go包,导入格式化的IO内容组件,并设置一个新函数,以便在运行时输出“Hello,World”。

hello.go  
package main
import "fmt"
func main() {
	fmt.Printf("Hello, World!\\n")
}

这个程序将输出“Hello,World!” 如果它成功运行,这将表明Go程序正确编译。保存并关闭该文件,然后通过调用Go命令install进行编译:

$ go install my_project/hello

编译程序后,您可以通过执行以下命令来运行它:

$ hello

如果您看到以下输出,则Go已成功安装并正常运行:

$ Hello, World!

您可以使用which命令来查看已安装编译二进制文件hello的位置:

$ which hello
/home/user/work/bin/hello

“Hello,World!”程序已经安装,您现在可以使用Go啦!

结论

通过下载并安装最新的Go包并设置其路径,您现在可以使用Go开发系统,同时腾讯云开发者手册提供Go的中文开发者手册


参考文献:《How To Install Go on Debian 8》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程语言

Python:VScode 设置Python不同版本运行环境

1.首先本地安装有不同的Python的版本,比如2.7和3.5.mac下一般默认自带2.7版本。  终端输入侧  python -V 则显示默认版本号。而p...

14320
来自专栏王磊的博客

VueJs生产环境部署

  VueJs为客户端语言,所以部署的时候是不需要基于nodejs或其他服务器运行环境,只需要像其他静态站点的方式发布就可以了,下面介绍一下VueJs具体发布的...

63870
来自专栏黑白安全

Emlog新版一处csrf导致的任意文件删除(可删除全站)

听说emlog更新到6.0了,下载了一份最新的代码,发现原来的bug还是没有修复。可能是官方没有在意,所以这里简单叙述一下危害。

22020
来自专栏阿杜的世界

【译】Linux概念架构的理解摘要一、Linux内核在整个计算机系统中的位置二、内核的作用三、Linux内核的整体架构四、高度模块化设计的系统,利于分工合作。五、系统中的数据结构六、子系统架构七、结论

声明:本文翻译自Conceptual Architecture of the Linux Kernel

12840
来自专栏编程

Go语言·不常用的Go命令详解

作者:孙飞撩技术 链接:http://www.jianshu.com/p/46c268e7a149 來源:简书 共3329字,阅读需8分钟 迁移自CSDN: $...

27250
来自专栏前端小叙

内网映射到外网方法收集

一、nat123 二、ngrok 官网服务器被墙了 不能使用,显示reconnecting,可以使用自己搭建的服务器来试  三、花生壳 四、frp  htt...

492100
来自专栏云计算教程系列

如何使用Restic Backup Client将数据备份到对象存储服务

Restic是一个用Go语言编写,安全且高效的备份客户端。它可以将本地文件备份到许多不同的后端存储库,例如本地目录,SFTP服务器或对象存储服务。

36020
来自专栏Android干货

Android项目实战(十二):解决OOM的一种偷懒又有效的办法

27250
来自专栏WindCoder

ubuntu14.04下java安装及环境配置

这可以说是一篇迟到的文章,几个月前就说要写,结果拖到了现在。中间由于系统打不开等一系列原因,不得不重装了一遍,这次环境配置是出了点小问题,最后奉上。

35420
来自专栏王磊的博客

TortoiseGIT创建及合并分支

一、创建分支 项目右键 => TortoiseGit(T) => 创建分支,然后右键切换到刚刚创建的分支,新增/修改一个文件,提交分支到远端服务器,推送成功之后...

36880

扫码关注云+社区

领取腾讯云代金券