如何在Ubuntu 18.04上安装Go
如何在Ubuntu 18.04上安装Go
谢鸢发表于云计算教程系列订阅98
介绍
课程准备
第1步 - 安装Go
第2步 - 设置Go路径
第3步 - 测试您的安装
结论
介绍
Go是Google开发的一种现代编程语言。它在许多应用程序和许多公司中越来越受欢迎,并提供了一组强大的库。本教程将指导您下载并安装最新版本的Go(本文发布时的Go 1.10),以及构建一个简单的Hello World应用程序。
课程准备
本教程假定您可以访问Ubuntu 18.04系统,该系统使用具有Ubuntu 18.04的初始服务器设置中sudo所述权限的非root用户进行配置。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。
第1步 - 安装Go
在此步骤中,我们将在您的服务器上安装Go。
首先,通过ssh以下方式连接到您的Ubuntu服务器:
ssh sammy@your_server_ip
要安装Go,您需要从官方Go下载页面获取最新版本。在网站上,您可以找到当前二进制版本的tarball的URL以及SHA256 hash。
访问官方Go下载页面,找到当前二进制版本的tarball的URL,以及它的SHA256 hash。确保您当前处在主目录中,并使用curl检索tarball:
cd ~
curl -O https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
接下来,您可以使用sha256sum验证tarball:
sha256sum go1.10.3.linux-amd64.tar.gz
go1.10.3.linux-amd64.tar.gz
fa1b0e45d3b647c252f51f5e1204aba049cde4af177ef9f2181f43004f901035 go1.10.3.linux-amd64.tar.gz
你会得到一个像上面输出中突出显示的hash。确保它与下载页面中的匹配。
接下来,用于tar提取tarball。该x标志告诉tar去进行解压,v告诉它我们需要一个详细输出(提取文件的列表),并f告诉它我们将会指定一个文件名:
tar xvf go1.10.3.linux-amd64.tar.gz
您现在应该在主目录中拥用一个名叫go的目录。递归地将go所有者和组更改为root,并将其移动到/usr/local:
sudo chown -R root:root ./go
sudo mv go /usr/local
注意:虽然/usr/local/go是官方推荐的位置,但有些用户可能更喜欢或需要不同的路径。
第2步 - 设置Go路径
在此步骤中,我们将在您的环境中设置一些路径。
首先,设置Go的根值,告诉Go在哪里查找其文件。
sudo nano ~/.profile
在文件的末尾,添加以下行:
export GOPATH=$HOME/work
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
如果为Go选择备用安装位置,请将这些行添加到同一文件中。此示例显示了在主目录中安装Go的命令:
export GOROOT=$HOME/go
export GOPATH=$HOME/work
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
将适当的行粘贴到您的配置文件中,保存并关闭该文件。接下来,通过运行来刷新您的个人资
source ~/.profile
第3步 - 测试您的安装
现在已经安装了Go并为您的服务器设置了路径,您可以进行测试以确保Go按预期工作。
为Go工作区创建一个新目录,Go将构建其文件:
mkdir $HOME/work
然后,通过此命令在此文件夹中创建目录层次结构,以便创建测试文件。如果您计划使用Git在GitHub上提交和存储Go代码,则可以使用GitHub用户名替换值user。如果您不打算使用GitHub存储和管理代码,那么您的文件夹结构可能会有所不同,例如~/my_project。
mkdir -p work/src/github.com/user/hello
接下来,您可以创建一个简单的“Hello World”Go文件。
nano ~/work/src/github.com/user/hello/hello.go
在编辑器中,粘贴下面的代码,使用主Go包,导入格式化的IO内容组件,并设置一个新函数,以便在运行时打印“Hello,World”。
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
如果成功运行,该程序将打印“hello,world”,这将表明Go程序正在正确编译。保存并关闭该文件,然后通过调用Go命令进行编译install:
go install github.com/user/hello
编译完文件后,只需执行以下命令即可运行:
hello
如果该命令返回“hello,world”,则Go已成功安装并正常运行。您可以使用以下which命令查看已安装编译的hello二进制文件的位置:
which hello
/home/user/work/bin/hello
结论
通过下载并安装最新的Go包并设置其路径,您现在可以使用一个用于Go开发的系统。
更多Ubuntu教程请前往腾讯云+社区学习更多知识。
参考文献:《How To Install Go on Ubuntu 18.04》
原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。
如有侵权,请联系 yunjia_community@tencent.com 删除。
编辑于 14 天前
UbuntuGo开发者实验室sshAR
举报
2
分享
扫描二维码
云计算教程系列
642 篇文章189 人订阅
订阅专栏
如何在Ubuntu 14.04上安装Dropbox Client作为服务
如何在CentOS 7上安装Dropbox客户端即服务
如何在Ubuntu 14.04上安装Nginx背后的话语
如何在CentOS 7上安装Graylog 1.x.
如何在Ubuntu 14.04上安装Graylog 1.x.
我来说两句
如何在Ubuntu 18.04上安装Go的更多相关文章
- 如何在Ubuntu 18.04上安装Pip
一.简介: Pip是一个软件包管理系统,它简化了用Python编写的软件包(如Python包索引(PyPI)中的软件包)的安装和管理. 在Ubuntu 18.04上缺省没有安装Pip,但安装非常简单. ...
- 如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器(转)
如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器 什么是Apache Web Server? Apache或Apache HTTP服务器是一个免费的开源Web服务器,由Apac ...
- 如何在Ubuntu 18.04上安装Apache Web服务器
一. apt库安装 1.在终端输入更新检查命令,sudo apt-get update 2. 在更新完成后(如果不想检查更新,也可直接输入此步)输入:sudo apt-get install apac ...
- 如何在Ubuntu 18.04上安装和卸载TeamViewer
卸载命令:sudo apt --purge remove teamviewer 安装:https://www.linuxidc.com/Linux/2018-05/152282.htm 如何在Ubun ...
- 如何在Ubuntu 18.04上安装Django
Django是一个免费的开源高级Python Web框架,旨在帮助开发人员构建安全,可扩展和可维护的Web应用程序. 根据您的需要,有不同的方法来安装Django.它可以使用pip在系统范围内安装或在 ...
- 如何在Ubuntu 18.04上安装Nginx
Nginx功能之强大,想必大家比我更清楚. 百度百科:Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔 ...
- 转载:如何在Ubuntu 18.04上使用UFW设置防火墙
https://blog.csdn.net/u013068789/article/details/82051943 介绍 UFW或Uncomplicated Firewall是iptables一个接口 ...
- 在Ubuntu 18.04上安装OpenCV 4(C ++和Python)
OpenCV于11月20日发布了OpenCV-3.4.4和OpenCV-4.0.0.这些版本中有很多错误修复和其他更改.发布重点如下: OpenCV现在是C ++ 11库,需要符合C ++ 11标准的 ...
- 如何在Ubuntu 18.04中安装VMware Workstation Player
参考链接 如何在Ubuntu 18.04中安装VMware Workstation Player https://www.sysgeek.cn/ubuntu-18-04-install-vmware- ...
随机推荐
- svn 提交报错post-commit hook failed (exit code 23) with output
svn 提交文件,hook同步更新报权限错误 排查后可能原因是被同步的服务器 selinux 已开启. 查看状态命令:/usr/sbin/sestatus -v #如果SELinux status参 ...
- 解决Js跨域访问的问题
1,最近有个需求,用Js获取Html标签<input type="file"/>的路径!遇到代码拒绝访问,提示安全验证,不允许跨域访问,简单的设置一下浏览器即可,不过对 ...
- 微服务之配置中心ConfigKeeper
在微服务架构中,配置中心是必不可少的基础服务.ConfigKeeper已开源,本文将深度分析配置中心的核心内容,错过「Spring Cloud中国社区北京沙龙-2018.10.28 」的同学将从本篇文 ...
- Notes 20180509 : Java基本数据类型
计算机就是个机器,这个机器由CPU.内存.硬盘和输入输出设备组成.计算机上运行着操作系统,操作系统提供对外的接口供各厂商和开发语言,开发运行在其上的驱动和应用程序. 操作系统将时间分成细小的时间碎片, ...
- GPUImage源码解读之GLProgram
简述 GLProgram是GPUImage中代表openGL ES 中的program,具有glprogram功能.其实是作者对OpenGL ES program的面向对象封装 初始化 - (id)i ...
- SQL循环插入批量数据
declare @i intdeclare @qid int set @i=1set @qid=100 while @i<50000begininsert into Order(orderid, ...
- 智能家居系统 Home Assistant 系列 --介绍篇
一. HomeAssistant 是什么? HomeAssistant是构建智慧空间的神器.是一个成熟完整的基于 Python 的智能家居系统,设备支持度高,支持自动化(Automation).群组化 ...
- Keil MDK最新版 5.25介绍及下载地址
看到Keil MDK又出新版咯,分享给大家 Keil MDK-ARM 5.25 uVision5开发工具下载地址:http://www.myir-tech.com/soft.asp?id=1140 K ...
- MQTT入门2 -- “Error: Invalid password hash for user nick.”和“Connection Refused: not authorised.”
原文地址:https://www.cnblogs.com/NickQ/p/9277315.html 问题描述: 搭建好mosqitto环境后,利用无密码验证方式,成功通过测试. 但修改配置文件将匿名访 ...
- POJ 3683 Priest John's Busiest Day 【2-Sat】
这是一道裸的2-Sat,只要考虑矛盾条件的判断就好了. 矛盾判断: 对于婚礼现场 x 和 y,x 的第一段可以和 y 的第一段或者第二段矛盾,同理,x 的第二段可以和 y 的第一段或者第二段矛盾,条件 ...