嗨,大家好,我是虎哥。
最近碰到一个问题,有朋友问我怎么在 Linux 上安装 Go。讲真,作为一个程序员,谁还没搞过几个开源项目、折腾过几个新语言呢?不过,安装 Go 这件事看似简单,其实里面还真藏着不少门道。
我就想着,今天不如跟大家聊聊怎么在 Linux 上安装 Go,顺便分享一下我在安装过程中遇到的一些坑和有趣的经历。
首先要说的是,直接下载 Go 的发行版本肯定是最省心的选择,但是如果你有兴趣,自己动手下载并编译 Go 的源代码,绝对是个很有教育意义的过程。这就好比小时候拆开玩具研究里面的结构,不拆开看看都不知道为什么它会动。
Go 语言的编译也是一样的,你动手编译一遍,基本就能了解这门语言的底层是怎么回事了。
当然,这不是夸张,我是真的觉得如果你是想深入了解 Go,自己编译一遍绝对是好事。官方的安装指南也很贴心,页面上不仅有下载地址,还有详细的安装步骤。不过如果你觉得直接执行几个命令太无趣,不妨跟我一样,自己去下载 Go 的源代码,然后一步步地来个“手工”安装。
安装 Go 语言的第一步就是设置环境变量。大家都知道,Linux 这玩意儿,光配置环境变量就能折腾半天。你得把 Go 的根目录(GOROOT)设定好,不然系统根本不知道你装了个啥玩意儿。
打开 .bashrc 或者 .profile 文件(根据不同的 Linux 发行版可能有所不同),然后添加如下内容:
export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/Applications/Go
说到这儿,你可能会想,GOROOT、GOPATH 这两个环境变量到底有啥区别?简单说,GOROOT 是 Go 自己的家,而 GOPATH 是你写代码的地方。就像你回到家只想瘫在沙发上一样,Go 编译器也需要知道自己“家”在哪儿,同时也得知道你码的代码放哪儿了。
至于 PATH,这玩意儿的意思就是让系统知道你在哪个目录下找 Go 相关的二进制文件。
我当时设置完环境变量,心想这下稳了,结果一敲 source .bashrc 让环境变量生效,系统竟然报错!搞了半天才发现,是我手滑把路径输错了。这种小坑,大家可得注意点。
在 Linux 上安装 Go 之前,还有一个不可或缺的步骤:安装 C 工具。Go 的工具链很多都是用 C 语言写的,没有这些工具,编译根本没法进行。对于 Ubuntu 用户,终端里输入以下指令即可:
sudo apt-get install bison ed gawk gcc libc6-dev make
不过根据国内的网络环境,我得提醒大家,最好一个工具一个工具地安装,不然你可能会看到满屏的“网络超时”。如果你用的是其他的发行版,比如 CentOS,那就得用 RPM 之类的工具来安装。这个过程其实挺无聊的,唯一的亮点就是你可以趁这个时候泡杯咖啡,享受片刻的宁静。
接下来就是获取 Go 的源代码了。虽然直接下载 Go 的预编译包最省事,但我这人喜欢折腾,非得自己搞一搞。下载完 Go 的源码包之后,用 tar 解压,然后把解压出来的 go 目录移动到 GOROOT 所指定的位置:
wget https://storage.googleapis.com/golang/go<VERSION>.src.tar.gz
tar -zxvf go<VERSION>.src.tar.gz
sudo mv go $GOROOT
到了这一步,事情就简单多了。进入 $GOROOT/src 目录,然后运行 https://mp.weixin..com/all.bash,开始编译:
cd $GOROOT/src
https://mp.weixin..com/all.bash
编译完成后,你会在终端看到一些成功的提示信息,这时候你就能感觉到,嘿,我终于搞定了!
不过这里也有个小坑,如果你装了防火墙,可能会在编译 net/http 包的时候报错。这个问题我也遇到过,当时是一脸懵逼,不知道问题出在哪儿。后来一查才发现,原来是防火墙挡住了 Go 访问 Google 的请求。解决办法其实也简单,要么临时关闭防火墙,要么设置一个环境变量 DISABLE_NET_TESTS=1 来跳过这些网络测试。
终于,到了最激动人心的时刻:测试安装是否成功。写个最简单的 Hello, World! 程序:
package main
func main() {
println("Hello", "world")
}
保存为 hello_world1.go,然后在终端运行:
go run hello_world1.go
如果看到屏幕上打印出了“Hello world”,恭喜你,Go 安装成功了!这个过程看似简单,但对于一个新手来说,当看到终端输出“Hello world”的那一刻,真的是满满的成就感。
如果你想确认一下自己安装的 Go 版本,可以输入以下命令:
go version
这会在终端打印出你当前安装的 Go 版本信息,比如 “go1.4.2”。如果你还不满足,还想通过代码来获取 Go 的版本信息,试试下面这段代码:
package main
import (
"fmt"
"runtime"
)
func main() {
fmt.Printf("%s", runtime.Version())
}
运行后,你会看到类似 “go1.4.2” 的输出。这个操作看似简单,但对我这种强迫症来说,是一定要验证一下版本号的,万一装错了版本,不就白折腾了吗?
安装完 Go 之后,可能你会好奇怎么保持 Go 的版本更新。官方文档里明确提到,Go 有三个分支:Go release(稳定版)、Go weekly(每周更新的版本)、Go tip(最新的内测版)。对于我这种追求稳定的人来说,通常会选择 Go release;不过如果你是那种喜欢尝鲜的人,可以考虑 Go tip,虽然它可能会有一些未发现的 bug,但至少你能第一时间体验到最新的功能。
最后,分享一个小提示:在更新 Go 之前,最好关注一下官方博客发布的信息,避免更新后遇到一些意想不到的问题。
好了,这就是我在 Linux 上安装 Go 的全过程。虽然过程有点繁琐,但自己动手的感觉还是挺爽的。如果你也想尝试,不妨动手试试看!期待大家的安装经验,也欢迎在评论区分享你们遇到的各种坑,咱们一起交流学习。
目前,对编程、职场感兴趣的同学,大家可以联系我微信:golang404,拉你进入“程序员交流群”。
🔥虎哥私藏精品 热门推荐🔥
资料包含了《IDEA视频教程》、《最全GO面试题库》、《最全项目实战源码及视频》及《毕业设计系统源码》,总量高达650GB。全部免费领取!全面满足各个阶段程序员的学习需求!
到此这篇linux系统装微信(linux怎么安装微信)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-wfwjg/78687.html