Linux如何安装Golang环境_Linux下Go语言开发包配置【方法】
技术百科
裘德小鎮的故事
发布时间:2025-12-31
浏览: 次 Linux下Go开发环境安装配置有五种方法:一、用apt/dnf等包管理器安装;二、官网下载二进制包手动安装;三、用gvm管理多版本;四、配置GOPATH与工作区;五、验证安装及模块初始化。
如果您希望在Linux系统中开始Go语言开发,需要正确安装Golang环境并配置相关路径。以下是多种可行的安装与配置方法:
一、使用系统包管理器安装
部分Linux发行版(如Ubuntu、Debian、CentOS、Fedora)提供预编译的Go二进制包,可通过官方仓库直接安装,适合快速部署且便于系统级管理。
1、对于Ubuntu或Debian系统,执行:sudo apt update && sudo apt install golang
2、对于CentOS 8/RHEL 8或Fedora系统,执行:sudo dnf install golang
3、安装完成后验证版本:go version
4、检查默认GOROOT路径:go env GOROOT
二、从官网下载二进制包手动安装
此方法可确保获取最新稳定版Go,并完全控制安装位置与权限,适用于所有主流Linux发行版,尤其推荐用于生产环境或需特定版本的场景。
1、访问https://go.dev/dl/,复制对应架构(如linux-amd64)的tar.gz文件下载链接
2、使用wget下载压缩包,例如:wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
3、解压至/usr/local目录:sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
4、将/usr/local/go/bin加入PATH,编辑~/.bashrc或~/.zshrc:echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc && source ~/.bashrc
三、使用Go版本管理工具gvm安装
当需要在同一系统中切换多个Go版本(如1.19、1.20、1.22)进行兼容性测试时,gvm(Go Version Manager)可提供隔离、灵活的版本控制能力。
1、安装gvm依赖项(以Ubuntu为例):sudo apt install curl git mercurial make binutils bison gcc build-essential
2、通过curl安装gvm:curl -sSL https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer | bash
3、加载gvm环境变量:source ~/.gvm/scripts/gvm
4、列出可用Go版本:gvm listall
5、安装指定版本(如go1.22.5)并设为默认:gvm install go1.22.5 && gvm use go1.22.5 --default
四、配置GOPATH与工作区目录
自Go 1.11起,模块(module)机制已默认启用,但GOPATH仍影响go get行为及传统项目结构;明确设置有助于避免命令执行异常和依赖路径混乱。
1、创建工作目录:mkdir -p ~/go/{bin,src,pkg}
2、在~/.bashrc或~/.zshrc中添加两行:export GOPATH=$HOME/go
3、将$GOP
ATH/bin加入PATH:export PATH=$PATH:$GOPATH/bin
4、重新加载配置文件:source ~/.bashrc
5、验证配置结果:go env GOPATH
五、验证安装与基础初始化
完成任一安装方式后,必须验证Go命令是否可用、环境变量是否生效,以及能否成功初始化模块工程,这是确认环境就绪的关键步骤。
1、新建测试目录并进入:mkdir ~/hello-go && cd ~/hello-go
2、初始化新模块:go mod init hello-go
3、创建main.go文件,写入标准Hello World代码
4、运行程序:go run main.go
5、构建可执行文件:go build -o hello main.go
# ai
# go语言
# 工具
# linux
# centos
# ubuntu
# go
# golang
# curl
# git
# github
# 架构
# echo
# ssl
# bash
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- 短链接怎么自定义还原php_修改解码规则适配需求【
- Python项目维护经验_长期演进说明【指导】
- Win10怎么卸载鲁大师_Win10彻底卸载鲁大师
- C++中的constexpr和const有什么区别
- php控制舵机角度怎么调_php发送pwm信号控制
- 如何有效拦截拼接式恶意域名的垃圾信息
- Python变量绑定机制_引用模型解析【教程】
- Mac如何设置动态壁纸?(让桌面动起来)
- Win11如何设置ipv6 Win11开启IPv6
- Windows10电脑怎么查看硬盘通电时间_Win
- c++协程和线程的区别 c++异步编程模型对比【核
- Windows蓝屏错误0x0000001E怎么修复
- 如何在JavaScript中动态拼接PHP的bas
- Go 中 defer 语句在 goroutine
- Windows资源管理器总是卡顿或重启怎么办?(修
- PythonWeb前后端整合项目教程_FastAP
- Win11此电脑不在桌面上_Windows 11桌
- php能跑在stm32上吗_php在stm32微控
- Win10系统更新错误0x80240034怎么办
- Mac如何开启夜览模式_Mac护眼模式设置与定时
- 如何使用Golang encoding/json解
- Python函数接口稳定性_版本演进解析【指导】
- Python文件和流处理指南_高效读写大体积数据文
- php怎么捕获异常_trycatch结构处理运行时
- 如何在Golang中实现邮件发送功能_Golang
- Win11怎么更改系统语言为中文_Windows1
- 如何在 Go 结构体中正确初始化 map 字段
- Win10如何卸载Skype_Win10卸载Sky
- 如何在Golang中实现服务熔断与限流_Golan
- c++怎么编写动态链接库dll_c++ __dec
- 如何提升Golang JSON序列化性能_Gola
- Mac如何将HEIC图片格式转为JPG_Mac批量
- Win11怎么打开注册表_Windows 11注册
- Python文本编码与解码_跨平台解析说明【指导】
- 如何在Golang中处理云原生事件_使用Event
- 如何在 Go 中正确初始化结构体中的 map 字段
- 如何使用Golang开发基础文件下载功能_Gola
- php怎么连接数据库_MySQL数据库连接的基础代
- 电脑无法识别U盘怎么办 Windows磁盘管理与驱
- Win11怎么开启窗口对齐助手_Windows11
- 如何用正则与预处理结合精准拦截拼接式垃圾域名
- 如何使用Golang反射将map转换为struct
- c++如何打印函数堆栈信息_c++ backtra
- 短链接怎么用php还原_从基础原理到代码实现教学【
- Win11怎么关闭触控板_Win11笔记本禁用触摸
- 如何在Golang中定义接口_抽象方法和多态实现
- Windows10系统怎么查看显卡型号_Win10
- 如何从 Go 的 map[string]inter
- Win11蓝牙开关不见了怎么办_Win11蓝牙驱动
- Windows10系统怎么查看设备管理器_Win1

QQ客服