Arch Linux 安装Go

最近需要了解组里的Full-Stack同事给我们后端项目写的一些功能,大部分使用Golang实现的,所以就简单在自己的机器上上配置一下Go语言的环境,以备之后自己调试未实现的功能。

这里顺便附上两个参考过的教程:

Download and install - The Go Programming Language

How to install Go (Golang) in Arch Linux/Manjaro

Manjaro用户如果也用pacman作为主要的包管理的话,按我这个教程应该也是没问题的,如果你测试没问题,可以在评论区回复一下哈 :))


首先介绍一下我的机器配置:Arch Linux + 5.19.6 Kernel

xx@ws-30 ~ % neofetch
                   -`                    xx@ws-30 
                  .o+`                   -------- 
                 `ooo/                   OS: Arch Linux x86_64 
                `+oooo:                  Host: 20YM Lenovo ThinkBook 16p Gen 2 
               `+oooooo:                 Kernel: 5.19.6-arch1-1 
               -+oooooo+:                Uptime: 1 hour, 44 mins 
             `/:-:++oooo+:               Packages: 1240 (pacman) 
            `/++++/+++++++:              Shell: zsh 5.9 
           `/++++++++++++++:             Resolution: 2560x1440, 2560x1440, 2560x1600 
          `/+++ooooooooooooo/`           DE: GNOME 42.4 
         ./ooosssso++osssssso+`          WM: Mutter 
        .oossssso-````/ossssss+`         WM Theme: Adwaita 
       -osssssso.      :ssssssso.        Theme: Adwaita [GTK2/3] 
      :osssssss/        osssso+++.       Icons: Adwaita [GTK2/3] 
     /ossssssss/        +ssssooo/-       Terminal: gnome-terminal 
   `/ossssso+/:-        -:/+osssso+-     CPU: AMD Ryzen 9 5900HX with Radeon Graphics (16) @ 3.300GHz 
  `+sso+:-`                 `.-/+oso:    GPU: AMD ATI 05:00.0 Cezanne 
 `++:.                           `-/+/   GPU: NVIDIA GeForce RTX 3060 Mobile / Max-Q 
 .`                                 `/   Memory: 8419MiB / 31461MiB 

                                                                 
                                                                 

sudo pacman -Syuu
sudo pacman -S vim curl    #如果你没GUI只能用终端下载的话,安装一下这两个包

1. 下载Go语言安装包

这里我不推荐用命令行直接来,因为最新的版本号总是变,直接网页端打开下载好了再弄别的。

下载地址:Download and install - The Go Programming Language

默认的下载路径应该是~/Downloads , 下一步就一直cd进入到这个文件夹里。

如果真的没有GUI的话,curl运行一下以下的命令:

curl -LO https://dl.google.com/go/go具体的版本号自己写.linux-amd64.tar.gz     #e.g. 1.19.1

2. 删除旧版本的Go(没有请忽略)并解压新版本到一个指定文件夹

sudo rm -rf /usr/local/go            
sudo tar -C /usr/local -xzf go1.19.1.linux-amd64.tar.gz

这里谷歌/Go官方推荐的解压文件夹是 /use/local/ , 解压成功后应该会有一个 /usr/local/go/ ,你可以查看一下这里面具体有啥。

xx@ws-30 ~ % cd /usr/local/go
xx@ws-30 /usr/local/go % ll
total 68
-rw-r--r--  1 root root  1339 31. Aug 19:37 CONTRIBUTING.md
-rw-r--r--  1 root root  1479 31. Aug 19:37 LICENSE
-rw-r--r--  1 root root  1303 31. Aug 19:37 PATENTS
-rw-r--r--  1 root root  1455 31. Aug 19:37 README.md
-rw-r--r--  1 root root   419 31. Aug 19:37 SECURITY.md
-rw-r--r--  1 root root     8 31. Aug 19:37 VERSION
drwxr-xr-x  2 root root  4096 31. Aug 19:39 api
drwxr-xr-x  2 root root  4096 31. Aug 19:40 bin
-rw-r--r--  1 root root    52 31. Aug 19:37 codereview.cfg
drwxr-xr-x  2 root root  4096 31. Aug 19:39 doc
drwxr-xr-x  3 root root  4096 31. Aug 19:39 lib
drwxr-xr-x 11 root root  4096 31. Aug 19:39 misc
drwxr-xr-x  6 root root  4096 31. Aug 19:40 pkg
drwxr-xr-x 48 root root  4096 31. Aug 19:39 src
drwxr-xr-x 26 root root 12288 31. Aug 19:39 test

3. 设置Go的全局环境变量

Go主要依托于GOROOT和GOPATH,我们只需要把这两个变量定义好并且加入到配置文件中(bash/ zsh)就好了。

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

4. 刷新配置文件

由于ArchLinux本身用的是zshrc,但是大部分Linux也会用bashrc,我有的变量配置在了bash里,有的配置在了zsh里,我也不确定,所以就一次性把两个文件都更新一下。

source ~/.bashrc
source ~/.zshrc

5. 检测

go version
go env

检查一下以上两个命令的输出是什么,然后就可以继续干正事儿了。

xx@ws-30 /usr/local/go % go version      
go version go1.19.1 linux/amd64

我之后遇到一些问题,就是刷新配置文件后,新的终端和重启后检测不到go的全局变量,大概错误的输出为

xx@ws-30 /usr/local/go % go version      
go will not execute and completion _go exists

 这种情况一般是zshrc变量是临时的,要手动编辑保存一下。打开~/.zshrc 文件,把上面拿三行粘贴进去,保存。

 source ~/.zshrc 更新,然后重新打开终端测试一下,输出正常就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值