如何在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- ...
随机推荐
- ubuntu下USB口插入USB转TTL查看串口号
首先先要获取权限 sudo su 然后 cd /devls ls可以列出所有的串口号(确保此时USB转TTL已经插在电脑上了) 然后拔掉USB转TTL 在ls一下列出所有的串口设备 对比可以发现,插上 ...
- plsql developer 64位 注册码
注册码product code(产品编码): 4vkjwhfeh3ufnqnmpr9brvcuyujrx3n3le serial Number(序列号):226959 password(口令): xs ...
- orcal 数据库 maven架构 ssh框架 的全xml环境模版 及常见异常解决
创建maven项目后,毫不犹豫,超简单傻瓜式搞定dependencies(pom.xml 就是maven的依赖管理),这样你就有了所有你要的包 <project xmlns="http ...
- iOS:多媒体(18-01-25更)
1.音频 2.视频 1. 2.AVPlayer 1.音频 2.视频 1. 2.AVPlayer 0).写在前面 AVPlayer 主要包含 AVPlayer.AVPlayerItem.AVPlayer ...
- iOS中怎么判断可变和不可变的坑(更正版)
iOS中怎么判断可变和不可变的坑 怎么判断NSString和NSMutableString呢 看题 BOOL result = [" isKindOfClass:[NSMutableStri ...
- Java-链表(单向链表、双向链表)
Java-链表 1.什么是链表? 2.链表的特点是什么? 3.链表的实现原理? 4.如何自己写出一个链表? 1.什么是链表? 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过 ...
- Extjs6 组件浅谈
一.Component组件 一个 Ext JS 应用的界面由一个或多个叫做 组件的控件组成. 所有的组件都是 Ext.Component 类的子类,这个类可以允许参与包含实例化.渲染.自动大小和位置以 ...
- shell习题第7题:备份数据库
[题目要求] 设计一个shell脚本用来备份数据库,首先在本地服务器上保存一份数据,然后再远程拷贝一份,本地保存一周的数据,远程保存一个月 假设我们知道mysql root账号的密码,要备份的库为da ...
- UITextView 光标定位
在使用UITextView的时候, 如何在光标的位置插入字符 或者 图片? 以下Demo为你解答: 应用背景:键盘自定义emoji表情 #pragma mark - KVO - (void)obser ...
- DELPHI一个对付内存汇漏的办法和技巧
DELPHI是要手动释放内存的,如果客户端程序有泄漏,可能不是很大问题, 但是如果你是用DELPHI做服务端程序,有泄漏的话,时间一长会占用很多内存,直到服务端程序要关闭重启.所以内存泄漏还是有害的. ...