温馨提示×

Ubuntu如何配置Golang的开发工具

小樊
31
2025-12-30 07:34:55
栏目: 编程语言

Ubuntu配置Golang开发工具

一 安装Go工具链

  • 使用APT安装(版本可能较旧,适合快速上手)
    • 执行:sudo apt update && sudo apt install -y golang-go
    • 验证:go version
  • 使用官方二进制包安装(推荐,获取最新稳定版)
    • 下载并解压:wget https://golang.org/dl/go1.23.0.linux-amd64.tar.gz && sudo tar -C /usr/local -xzf go1.23.0.linux-amd64.tar.gz
    • 说明:官方包会安装到**/usr/local/go**
  • 使用Snap安装(隔离性好)
    • 执行:sudo snap install go --classic
    • 验证:go version
  • 使用版本管理工具GVM(多版本切换)
    • 安装:bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
    • 使用:gvm install go1.23.0 && gvm use go1.23.0 --default

二 配置环境变量与模块

  • 编辑Shell配置(根据所用Shell选择文件)
    • Bash:nano ~/.bashrc
    • Zsh:nano ~/.zshrc
  • 写入以下内容(APT安装时可省略GOROOT,Snap安装通常无需设置)
    • export GOROOT=/usr/local/go
    • export GOPATH=$HOME/go
    • export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
  • 使配置生效
    • Bash:source ~/.bashrc
    • Zsh:source ~/.zshrc
  • 启用模块与国内代理(提升依赖下载速度)
    • go env -w GO111MODULE=on
    • go env -w GOPROXY=https://goproxy.cn,direct
  • 验证
    • go versiongo env GOPATHgo env

三 选择与配置开发工具

  • Visual Studio Code
    • 安装VS Code后,在扩展中安装官方Go扩展(由Go Team维护)
    • 打开Go项目后按提示安装gopls、dlv等工具,获得智能补全、调试、测试集成
  • GoLand
    • JetBrains 出品,开箱即用,支持调试、测试、覆盖率、Docker 等工程化能力
  • 命令行与调试
    • 常用:go run main.gogo buildgo testgo mod tidy
    • 调试:安装dlv后使用dlv debug进行断点调试

四 创建项目与运行示例

  • 初始化模块
    • mkdir -p ~/projects/hello && cd ~/projects/hello
    • go mod init hello
  • 编写代码
    • nano main.go
    • 内容:
      package main
      
      import "fmt"
      
      func main() {
          fmt.Println("Hello, Ubuntu Go!")
      }
      
  • 运行与构建
    • 运行:go run main.go
    • 构建:go build -o hello
    • 执行:./hello

五 常见问题与优化

  • 命令未找到
    • 检查PATH是否包含**/usr/local/go/bin$GOPATH/bin**
    • 确认Shell配置已source生效
  • 权限不足
    • 解压官方包时使用sudo,或改用用户目录安装
  • 依赖下载慢或失败
    • 设置:go env -w GOPROXY=https://goproxy.cn,direct
  • 多版本管理
    • 使用GVM安装与切换多个Go版本,便于项目兼容
  • 交叉编译示例
    • 为Windows编译:GOOS=windows GOARCH=amd64 go build -o hello.exe main.go

0