如何在Linux上安装Golang_使用包管理器和源码安装方法

发布时间 - 2025-12-29 00:00:00    点击率:
推荐优先使用官方二进制包或系统包管理器安装Golang,避免源码编译;系统包安装简单但版本常滞后,官方二进制包版本可控、解压即用,源码编译仅适用于深度定制需求。

在Linux上安装Golang,推荐优先使用官方二进制包或系统包管理器,避免源码编译带来的依赖和版本管理问题。源码安装仅适用于需要深度定制(如修改运行时、贡献Go项目)的开发者。

使用系统包管理器安装(简单快捷)

多数主流发行版的仓库已提供Go,但版本常滞后于官方最新稳定版(如Ubuntu 22.04默认为1.18,而Go当前稳定版已到1.22+)。适合快速体验或对版本无严格要求的场景。

  • Ubuntu/Debian:运行 sudo apt update && sudo apt install golang,安装后执行 go version 验证
  • CentOS/RHEL/Fedora:sudo dnf install golang(Fedora/RHEL 8+)或 sudo yum install golang(旧版)
  • Arch Linux:执行 sudo pacman -S go

注意:系统包安装的Go通常将可执行文件放在 /usr/bin/goGOPATH 默认为 $HOME/go,无需额外配置即可开始写代码。

下载官方二进制包安装(推荐,版本可控)

这是最常用、最稳妥的方式。Go官网提供预编译的Linux AMD64/ARM64压缩包,解压即用,不依赖系统库。

  • 访问 https://www./link/81836b7cd16991abb7febfd7832927fd,复制对应架构的tar.gz链接(如 go1.22.5.linux-amd64.tar.gz
  • 终端中执行:
    curl -OL https://www./link/81836b7cd16991abb7febfd7832927fdgo1.22.5.linux-amd64.tar.gz
    sudo rm -rf /usr/local/go
    sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
  • /usr/local/go/bin 加入 PATH:编辑 ~/.bashrc~/.zshrc,添加一行 export PATH=$PATH:/usr/local/go/bin,然后运行 source ~/.bashrc

验证:执行 go versiongo env GOPATH,确认版本和工作目录正确。

从源码编译安装(仅限特殊需求)

源码构建需已有一个可用的Go环境(bootstrap),主要用于开发Go语言本身、调试运行时或交叉编译自定义工具链。普通用户无需此步骤。

  • 前提:机器上已安装Go 1.17+(用于编译新版本)
  • 克隆仓库:git clone https://go.googlesource.com/go,进入 src 目录
  • 执行编译:cd src && ./all.bash(Linux下)——该脚本会自动构建并运行测试
  • 成功后,新Go会安装到 $GOROOT(默认为源码根目录下的 ./go),需手动将其 bin 加入 PATH

提示:整个过程耗时较长(10–30分钟),且容易因网络或权限问题失败;除非明确需要修改Go源码,否则不建议选用。

安装后基础配置建议

无论哪种方式安装,建议完成以下两步以提升开发体验:

  • 设置 GOBIN(可选):若希望自定义go install生成的二进制存放路径,可设 export GOBIN=$HOME/bin 并确保该路径在 PATH
  • 启用Go Modules:Go 1.16+ 默认启用,无需额外操作;如需兼容旧项目,可通过 export GO111MODULE=on 强制开启

运行 go helpgo env 可随时查看当前配置。不复杂但容易忽略。


# linux  # centos  # bootstrap  # git  # go  # golang  # go语言  # ubuntu  # 工具  # curl  # amd  # bash  # 架构 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么自定义错误页面_Laravel修改404和500页面模板  Laravel如何使用Eloquent进行子查询  网站制作软件免费下载安装,有哪些免费下载的软件网站?  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  Laravel如何创建自定义Facades?(详细步骤)  微信h5制作网站有哪些,免费微信H5页面制作工具?  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  用yum安装MySQLdb模块的步骤方法  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  如何在建站之星绑定自定义域名?  详解CentOS6.5 安装 MySQL5.1.71的方法  利用python获取某年中每个月的第一天和最后一天  长沙做网站要多少钱,长沙国安网络怎么样?  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  如何撰写建站申请书?关键要点有哪些?  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  教你用AI润色文章,让你的文字表达更专业  Laravel如何记录自定义日志?(Log频道配置)  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  Firefox Developer Edition开发者版本入口  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  如何快速打造个性化非模板自助建站?  如何快速搭建自助建站会员专属系统?  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  如何打造高效商业网站?建站目的决定转化率  如何用5美元大硬盘VPS安全高效搭建个人网站?  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  🚀拖拽式CMS建站能否实现高效与个性化并存?  Internet Explorer官网直接进入 IE浏览器在线体验版网址  Laravel PHP版本要求一览_Laravel各版本环境要求对照  如何快速重置建站主机并恢复默认配置?  Laravel如何实现用户注册和登录?(Auth脚手架指南)  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  详解Android图表 MPAndroidChart折线图  Laravel如何创建自定义Artisan命令?(代码示例)  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  如何自定义建站之星模板颜色并下载新样式?  jQuery 常见小例汇总  详解Android中Activity的四大启动模式实验简述  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  php json中文编码为null的解决办法  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?