在 linux 安装 GO 有两种方式。

  • 一种是使用 apt-get 命令安装。

  • 第二种是使用 安装包安装

使用 apt-get 安装

sudo apt-get update  #更新安装列表

apt-get install golang  #安装golang

如果是 mac系统 ,推荐使用 brew 安装,但是在ubuntu中,不太建议使用 apt-get 的方式进行安装。因为这样安装到 GO 的版本号,会远远落后于 GO 的最新版本

使用安装包安装

本文安装,环境 Ubuntu 22.04 ,其他 linux 环境,安装过程大致相同

1. 下载压缩包

在写这篇文章的时候,Go 的最新版为 1.18.7。在我们下载安装包时,请浏览 Go 官方下载页面,并且检查一下是否有新的版本可用。

wget -c https://dl.google.com/go/go1.18.7.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local

注意:

  • 一般电脑或者服务器都是 amd64 位系统,所以下载 amd64 版本

  • 解压到 usr/local 文件夹下。 此文件是存放手工安装的软件保存位置。linux 一般建议源码包软件安装在这个位置

2. 先设置 gopatch 和 goroot

echo 'export GOROOT="{你Golang的安装目录}"' >> ~/.bash_profile
echo 'export GOPATH="$HOME/.go" >> ~/.bash_profile
echo 'export PATH="$GOPATH/bin:$PATH"' >> ~/.bash_profile

注意

  • goroot: go 的安装目录

  • gopatch:默认采用和 $GOROOT 一样的值,但从 Go 1.1 版本开始,你必须修改为其它路径。它可以包含多个包含 Go 语言源码文件、包文件和可执行文件的路径,而这些路径下又必须分别包含三个规定的目录:srcpkgbin,这三个目录分别用于存放源码文件、包文件和可执行文件。

3. 设置代理

vim ~/.bash_profile         # 打开文件

export GO111MODULE=auto
export GOPROXY=https://goproxy.cn,https://goproxy.io,direct
export GONOSUMDB="*" source ~/.bash_profile # 重启配置文件生效

注意: 这个地方有个小坑,执行了 source ~/.bash_profile 命令后,发现运行的环境还是不对,此时建议重启一下电脑试试。

4. 我自己的完整目录如下

export GOPATH="$HOME/.go"
export GOROOT=/usr/local/go
export PATH=$PATH:/usr/local/go/bin
export PATH=$PATH:$GOPATH:$GOROOT:/bin
export GO111MODULE=on
export GOPROXY=https://goproxy.cn,https://goproxy.io,direct
export GONOSUMDB="*"
export PATH="$GOPATH/bin:$PATH"

5. 如果你在linux,同时使用goland 和 vscore 两种编译器,建议把环境配置如下

sudo vim /etc/profile 打开文件后,在最后面输入:

export GOROOT=/usr/local/go
export GO111MODULE=auto
export GOPROXY=https://goproxy.cn,https://goproxy.io,direct
export GOPATH=$HOME/.go #这是你的工程目录,需要手动创建
export PATH=$PATH:$GOROOT/bin source /etc/profile #执行该文件

这是应用于全局的环境变量,因为 goland的环境变量默认从全局读取。所以要把配置文件放在 /etc/profile

最新文章

  1. jQuery第二篇 (帅哥)
  2. BufferedReader与BufferedWriter读写中文乱码问题
  3. Android网络连接判断与处理
  4. Exception in thread "main" java.lang.NoClassDefFoundError: UDP_Receive (wrong na me: com/ray/net/UDP_Receive)
  5. C++ 关联容器详解——从内部结构到应用
  6. org.springframework.orm.jpa.JpaTransactionManager
  7. 【随记】还原SQL Server数据库步骤
  8. redhat6.4 配置centos6 yum替换
  9. Scala 编程(一)Scala 编程总览
  10. 日期、时间选择器(DatePicker和TimePicker)的功能与用法
  11. 为用户增加sudo权限(修改sudoers文件)
  12. Redis数据类型之ZSet(五)
  13. hadoop源码调试
  14. 利用apache自带的工具 分割访问日志
  15. Unity3D开发游戏世界天空盒
  16. SpringMVC从认识到细化了解
  17. 1.Spring Boot入门及其jar包依赖模型分析
  18. 半吊子的STM32 — IIC通信
  19. CentOS 7.4 使用源码包编译安装MySQL 5.7.20
  20. Linux crontab下关于使用date命令和sudo命令的坑

热门文章

  1. 【TS】object类型
  2. 深度学习-LSTM
  3. 钓鱼攻击之:Lnk 文件钓鱼
  4. LKWA靶机学习
  5. Vulhub 漏洞学习之:Django
  6. CSS3--点击弹出菜单动画
  7. 基于Python的OpenGL 03 之纹理
  8. OpenLayers与百度高德等常见地图坐标系
  9. ClickHouse(13)ClickHouse合并树MergeTree家族表引擎之CollapsingMergeTree详细解析
  10. 【11】java之抽象类