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; ?>
】
相关推荐
- win11如何清理传递优化文件 Win11为C盘瘦
- 如何使用Golang sync.Map实现并发安全
- Python模块的__name__属性如何由导入方
- Win10如何关闭安全中心所有通知 Win10禁用
- 如何关闭Win10自动更新更新_Win10系统自动
- 如何使用正则表达式批量替换重复的 *- 模式为固定
- VSC怎样在Linux运行PHP_Ubuntu系统
- php下载安装后memory_limit怎么设置_
- Win11无法识别耳机怎么办_解决Win11插耳机
- Python异步网络编程_aiohttp说明【指导
- Windows蓝屏错误0x00000018怎么处理
- php高频调试功能有哪些_php常用调试函数与工具
- 获取 PHP 文件最后修改时间的正确方法
- Win11摄像头无法使用怎么办_Win11相机隐私
- 一文教你快速开通网站LOGO图
- Python脚本参数接收_sys与argparse
- mac怎么分屏_MAC双屏显示与分屏操作技巧【指南
- How to Properly Use NumPy
- Windows蓝屏错误0x0000001E怎么修复
- php订单日志怎么在swoole写_php协程sw
- 如何在 ACF 中正确更新嵌套多层 Group 字
- Go语言中slice追加操作的底层共享机制详解
- 如何在 Go 项目开发中正确处理本地包导入与远程模
- Win11怎样安装企业微信_Win11安装企业微信
- 企业SEO优化选择网站建设模板的技巧
- Win11怎么查看已连接wifi密码 Win11查
- Python文件操作优化_大文件与流处理解析【教程
- 如何使用Golang实现多重错误处理_Golang
- 如何用::实现单例模式_php静态方法与作用域操作
- php增删改查报错1054怎么办_字段名错误排查修
- 如何用正则表达式精确匹配最多含一个换行符的起止片段
- Python对象比较与排序_集合使用说明【指导】
- Win11怎么关闭自动更新 Win11永久关闭系统
- Windows10系统怎么查看运行时间_Win10
- MAC的“接续互通”功能无法使用怎么办_MAC检查
- Windows蓝屏错误0x00000023怎么修复
- Win11声音忽大忽小怎么办 Win11音频增强功
- 如何在同包不同文件中正确引用 Go 结构体
- Win11怎么设置开机密码_Windows11账户
- Win10怎样卸载TeamViewer_Win10
- Python字符串处理进阶_切片方法解析【指导】
- Win11怎么关闭系统声音_Win11系统提示音静
- php能控制zigbee模块吗_php通过串口与c
- 跨文件调用类方法怎么用_php作用域操作符与自动加
- 如何在 ACF 中正确更新嵌套多层的 Group
- Mac怎么设置登录项_Mac管理开机自启动程序【教
- PythonWeb前后端整合项目教程_FastAP
- LINUX如何开放防火墙端口_Linux fire
- Win11怎么设置快速访问_Windows11文件
- 如何使用Golang实现函数指针_函数变量与回调示

QQ客服