如何在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- ...
随机推荐
- spring 包的依赖关系
转自:http://www.cnblogs.com/ywlaker/p/6136625.html 很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring ...
- scrapy管道MySQL简记
import pymysqlfrom scrapy.exceptions import DropItemimport time class ErshouchePipeline(object): def ...
- Android Studio 2.3.3 出现Error:(26.13) Fail to resole: com.android.support.appcompat永久解决方法
Android Studio 出现Error(26.13):Fail to resole:com.android.support.appcompat-v7.28_ Install Repository ...
- 为什么浏览器控制台返回不是undefined,而是一串数字
setTimeout( (function(){console.log("ok")} )(), 16) 在浏览器控制台输入这段代码的时候返回的不是"undefined&q ...
- JavaWeb开发使用jsp还是html做前端页面
一.概述 刚开始学习Javaweb开发的小伙伴都有一个疑惑:用jsp开发前端还是用HTML开发前端呢? 这个疑惑的来源主要是:刚接触完前端但又不深入学习js,接着学习jsp,发现老师们都一直用着jsp ...
- Home Assistant系列 -- 基于树莓派安装并设置自启动
Home Assistant 是当前智能家居最火热的开源DIY 软件,之前的文章 智能家居系统 Home Assistant 系列 --介绍篇 已经详细介绍过了,这里就不详细介绍了,今天介绍 如何 ...
- TCP交互流程
前言:在FPGA上实现TCP协议实际是一个不太好的计划,因为FPGA最擅长的是流水线处理方式,而TCP存在交互,导致FPGA需要进行反馈式的处理.但是由于项目新增的附加要求而又只能在FPGA上去实现T ...
- 20155212 ch03 课下作业
T4 题目 通过输入gcc -S -o main.s main.c 将下面c程序"week0603学号.c"编译成汇编代码 int g(int x){ return x+3; } ...
- 20145226夏艺华 《Java程序设计》实验报告二
实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步骤 (一)单元测试 ...
- 【SQLSERVER】索引的维护优化
一.索引的利弊 优点: 1.大大加快数据的检索速度: 2.创建唯一性索引,保证数据库表中每一行数据的唯一性: 3.加速表和表之间的连接: 4.在使用分组和排序子句进行数据检索时,可以显著减少查询中 ...