首页 > 2022秋季生活资讯
20 19年05月 12日
Gol ang也就是Go 语言,现在已经发 行到1.4. 1版本了,语言 特性优越性和背后 Goog le强大靠 山什么的就不 多说了。Gol ang的官方提供 了多个平 台上的二进 制安装包,遗 憾的是并非没有 发布ARM平台的 二进制安 装包。A RM平台 没办法直接从官网 下(西北要闻)载二进制 安装包来 安装,好在 Golang 是支持多平台并 且开源的语言,因 此可以通 过直接在A RM平台上编 译源代码来安装 。整个过程主要包 括编译工 具配置、获 取Golan g源代码、设置 Golang编译 环境变量 、编译、配 置Golan g行环境变量等 步骤。
注:本文 选用树莓派做测 试,因为树莓派是 基于AR M平台的。
1、编译工 具配置
据 说下个版 本的gol ang编译 (央视网)工具要使用g olang自己 来写,但目前还是 使用C编 译工具的 。因此, 首先要配置好C编 译工具:
1.1 在Ubunt u或Debia n平台上 可以使用sud o apt-ge t in stall gcc l ibc6-de v命令安装,树莓 派的Ra spBia n系统是基于 Debian修 改的,所以可以使 用这种方 法安装。
1.2 在RedHa t或Cen tOS (环球网)6平 台上可以使用s udo yum inst all g cc lib c-devel 命令安装。
安装完 成后可以输 入 gcc --versi on命令验证是否 成功安装 。
2、 获取golan g源代码
2.1 直接从官网 下载源代码压 缩包。
gola ng官网提供go lang的 源代码压缩 包,可以直接 下载,最新的 1.4. 1版(新浪网)本源代 码链接:ht tps://s torage.g oogl eapis .com/g olang/g o1.4.1.s rc.tar .gz
2.2 使用gi t工具获 取。
golan g使用git版 本管理工具,也可 以使用g it获取g olang源 代码。推荐使用 这个方法,因为以 后可以随 时获取最新 的golan g源代码。
2.2.1 首先确认 ARM平 台上已经安 装了git 工具,可以 使用gi(联合早报) t --ve rsion命令确 认。一般lin ux平台都安装了 git,没 有的话可以自 行安装, 不同平台 的安装方 法可以参考:h ttp://gi t-sc m.com /downl oad/lin ux
2. 2.2 克隆远程gol ang的git仓 库到本地
在 终端cd到你 想要安装gol ang的目录,确 保该目录 下没有名为 go的目录。 然后以下命令获 取代码仓库:
gi t clo (新浪新闻)ne htt ps://go .googles ourc e.com/g o
大 陆地区可能会 获取失败,在 不翻墙的 情况下我试 了几次都没成 功,原因大家都 懂的。好在goo gle已 经将gol ang也托管 到github 上面,所以也可以 通过下面 命令获取:
gi t clone https:/ /git hub.c om/golan g/go .git
视网络 情况,下载可能 需要(搜狐新闻)不少时间。我 2M的带宽花了将 近两个小时才下载 完,虽然整个项 目不过几 十兆= =
下载完成后, 可以看到目录下多 了一个go目 录,里面即为g olang的源代 码,在终 端上执行c d go命令 进入该目录。
执行下面命 令检出g o1.4. 1版本的源代 码,因为现在已 经有新的代码提 交上去了,最新的 代码可能 不是最稳定 的:
git che ckout go1. 4(西北要闻).1
至 此,最新1.4 .1发行版的源代 码获取完毕
3、设置g olang的编 译环境变量
主要有GO ROOT、GOO S、GOAR CH、GOAR M四个环境变量需 要设置, 先解释四个 环境变量的意 义。
3 .1 GOROO T
主要代表 golang 树结构目录的路 径,也就是上面g it检出 的go目录 。一般可以不 用设置这个环境 变量,(人民网)因为编译的 时候默认会以 go目录下 src子目 录中的al l.bash脚 本运行时的父目 录作为GOR OOT的值。为了 保险起见, 可以直接设置为g o目录的路 径。
3 .2 GO OS和GOA RCH
分别代表编译的目 标系统和 平台,可选 值如下:
GOO S GOAR CH
d arwin 38 6
d arwi n amd 64
dragonf ly 3 86
drag(联合早报)o nfly am d64
f reeb sd 38 6
f reebsd amd64
fre ebsd arm
linux 386
l inux amd6 4
l inux ar m
net bsd 386
net bsd am d64
netbsd a rm
ope nbsd 3 86
ope nbsd a md64
plan9 3(新浪新闻) 86
pla n9 amd 64
s olaris a md64
w indows 386
windows amd 64
需要注意的 是这两个值代表 的是目标系 统和平台 ,而不是 编译源代 码的系统和平台 。树莓派的Ras pBia n是lin ux系统,所 以这些GOOS 设置为linux ,GOA RCH设置 为arm。
3.3 GOARM
表示使 (环球网)用的浮点运 算协处理器版 本号,只对ar m平台有用,可选 值有5,6, 7。如果是在目 标平台上编译源代 码,这个 值可以不设 置,它会自动 判断需要使用哪 一个版本。
总结下 来,在树莓 派上设置go lang的编译 环境变量,可编辑 $HOM E/.ba shrc文件 ,在末尾添加 下面内容:
ex port GO ROOT=你的g o目录路径
ex port G OOS= l(中国经济网)inux
ex port GO ARCH=arm
编辑完后保 存,执行so urce ~/ .bashrc命 令让修改 生效。
4、编译源代码
环境变量 配置完成 自后就可以开 始编译源代码。 在go目录下的s rc子目 录中,主要 有all.b ash和mak e.bash两个 脚本(另 外还有两个 all.ba t和make. bat脚本适用于 wi(环球网)nd ow平台) 。编译实际上 就是执行其中一 个脚本,两者 的区别在 于all .bas h在编译完成后 还会执行一些测试 套件。如 果希望只编 译不测试,可 以运行make .bash脚本。 使用cd 命令进入g o下src目 录,执行./a ll.bash或 者./m ake.b ash命令即 可开始编译。由 于硬件情况不同, 编译耗费 的时间不同。在 我的B型树莓派编 译过程花 费了将近半 个小时,编译 完成后执行的测 试套件又花费了差(中国新闻网) 不多一个 小时,总共 花费了一个半 小时左右。
_1DdKgE" >今日最新疫情: 发布时间: 疫情指数: 大理 49分钟前 +212 珠海市 45分钟前 +613 新浪网 41分钟前 +314 宁波 37分钟前 +524 用户1 0620 2590182