在 Fedora 上配置 Go 语言(Golang)开发环境

1. 安装 Go 语言

Fedora 的 dnf 仓库通常提供相对较新且稳定的 Go 版本。

复制代码
# 更新系统软件包列表
sudo dnf update

# 安装 golang
sudo dnf install golang

验证安装:

复制代码
go version
# 输出示例: go version go1.2x.x linux/amd64

2. 配置环境变量

虽然现代 Go 版本的 GOPATH 默认为 $HOME/go,但为了开发方便,建议将 Go 的二进制目录添加到 PATH 中。

编辑你的 shell 配置文件(通常是 ~/.bashrc~/.zshrc):

复制代码
# 将以下内容添加到文件末尾
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

执行 source ~/.bashrc 使其立即生效。


3. 开发工具推荐

在 Fedora 上,你有几个优秀的选择:

Visual Studio Code (最流行)

  1. 安装: 可以在软件中心搜索,或使用 sudo dnf install code

  2. 插件: 安装由 Google 提供的 "Go" 扩展插件

  3. 工具安装: 打开一个 .go 文件,VS Code 会提示你安装 gopls(语言服务器)、dlv(调试器)等工具,点击 "Install All" 即可。

GoLand (专业级)

JetBrains 出品的 IDE,如果你有教育版或专业版授权,这是功能最强大的选择。Fedora 用户可以通过 flatpaktoolbox 安装。

Neovim / Vim (硬核)

使用 lazy.nvim 配合 nvim-lspconfigmason.nvim 可以快速搭建极简且高效的 Go 环境。


4. 验证开发环境 (Hello World)

按照现代 Go 的标准流程(Go Modules):

  1. 创建项目目录:

    复制代码
    mkdir -p ~/projects/hello-go
    cd ~/projects/hello-go
  2. 初始化模块:

    复制代码
    go mod init hello-go
  3. 编写代码: 创建 main.go 并输入:

    复制代码
    package main
    import "fmt"
    
    func main() {
        fmt.Println("你好,Fedora Go 开发者!")
    }
  4. 运行:

    复制代码
    go run main.go

5. 进阶提示:GOPROXY

如果你在中国境内开发,由于网络限制,建议配置代理以加速依赖下载:

复制代码
go env -w GOPROXY=https://goproxy.cn,direct

6. 使用 Toolbox (可选,推荐)

如果你喜欢保持系统干净,Fedora 独有的 Toolbox 容器是开发 Go 的绝佳场所:

复制代码
# 创建一个专门用于 Go 开发的容器
toolbox create -c go-dev
toolbox enter -c go-dev
# 在容器内执行 sudo dnf install golang

这样你的开发工具和库都在容器内,不会污染宿主机系统。

相关推荐
超级大只老咪2 小时前
线性递推通用模板
java·开发语言·算法
coNh OOSI2 小时前
Spring Boot问题总结
java·spring boot·后端
Dream of maid2 小时前
Python基础 6 (面向对象)
开发语言·python
郝学胜-神的一滴2 小时前
「栈与缩点的艺术」二叉树前序序列化合法性判定:从脑筋急转弯到工程实现
java·开发语言·数据结构·c++·python·算法
掘金者阿豪2 小时前
行标识符的抉择:深入理解数据库领域的OID与ROWID机制
后端
她说..2 小时前
Java Object类与String相关高频面试题
java·开发语言·jvm·spring boot·java-ee
Mr_Tony2 小时前
Swift 中的 Combine 框架完整指南(含示例代码 + 实战)
开发语言·swift
计算机学姐2 小时前
基于SpringBoot的宠物店管理系统
java·vue.js·spring boot·后端·spring·java-ee·intellij-idea
无心水2 小时前
22、Java开发避坑指南:日期时间、Spring核心与接口设计的最佳实践
java·开发语言·后端·python·spring·java.time·java时间处理