温馨提示×

Linux如何搭建Golang开发环境

小樊
39
2025-12-26 04:15:48
栏目: 编程语言

Linux搭建Golang开发环境

一 安装方式选择

  • 发行版仓库安装:适合快速上手与维护,命令简单,版本可能略滞后。
  • 官方二进制安装:版本最新、可控性强,推荐用于生产/开发。
  • 版本选择建议:优先选择稳定版,并匹配系统架构(如amd64/arm64)。

二 发行版仓库安装步骤

  • CentOS/RHEL 系列
    1. 安装:sudo yum -y install golang
    2. 创建工作区:mkdir -p ~/go
    3. 写入环境变量(当前用户):echo ‘export GOPATH=$HOME/go’ >> ~/.bashrc && source ~/.bashrc
    4. 验证:go version、go env
  • Ubuntu/Debian 系列
    1. 安装:sudo apt update && sudo apt install -y golang
    2. 写入环境变量(当前用户):
      echo “export GOROOT=/usr/lib/go” >> ~/.bashrc
      echo “export GOPATH=$HOME/go” >> ~/.bashrc
      echo “export PATH=$GOROOT/bin:$PATH” >> ~/.bashrc
      source ~/.bashrc
    3. 验证:go version、go env
      说明:仓库安装的 GOROOT 常见路径为 /usr/lib/go(Debian/Ubuntu),GOPATH 建议设为 $HOME/go

三 官方二进制安装步骤

    1. 下载(示例为 amd64):wget https://dl.google.com/go/go1.21.5.linux-amd64.tar.gz -O /tmp/go.tar.gz
    1. 解压到系统目录:sudo tar -C /usr/local -xzf /tmp/go.tar.gz
    1. 配置环境变量(当前用户):
      echo ‘export GOROOT=/usr/local/go’ >> ~/.bashrc
      echo ‘export GOPATH=$HOME/go’ >> ~/.bashrc
      echo ‘export PATH=$PATH:$GOROOT/bin:$GOPATH/bin’ >> ~/.bashrc
      source ~/.bashrc
    1. 验证:go version(应输出版本号)、go env(检查 GOROOT/GOPATH 等)
      提示:如需全局生效,可将上述 export 写入 /etc/profile 并执行 source /etc/profile

四 第一个程序与依赖管理

    1. 初始化模块与源码
      mkdir -p ~/hello && cd ~/hello
      go mod init hello
      cat > main.go <<‘EOF’
      package main

    import “fmt”

    func main() { fmt.Println(“Hello, Go on Linux!”) } EOF

    1. 运行与构建
      go run main.go
      go build -o hello && ./hello
    1. 依赖管理
    • 现代 Go(1.18+)默认启用 Go Modules,无需设置 GO111MODULE
    • 添加依赖后执行:go mod tidy(自动下载并更新 go.mod/go.sum)。

五 常见问题与工程化建议

  • 命令未找到:检查 PATH 是否包含 $GOROOT/bin$GOPATH/bin,并确认已执行 source 使配置生效。
  • 多用户/全局环境:将变量写入 /etc/profile 或发行版的全局 profile.d 脚本;当前用户请写入 ~/.bashrc~/.zshrc
  • 目录规范:GOPATH 下建议保持 src/pkg/bin 结构;Go Modules 项目可放在任意目录。
  • 交叉编译:设置 GOOS/GOARCH 后构建,例如:GOOS=linux GOARCH=amd64 go build。
  • 开发工具:可使用 GoLandVisual Studio Code 等 IDE 提升效率。
  • 容器化交付:使用多阶段 Docker 构建减小镜像体积,示例:
    Dockerfile
    FROM golang:1.21-alpine AS builder
    WORKDIR /app
    COPY . .
    RUN go build -o main
    FROM alpine:3.15
    WORKDIR /app
    COPY --from=builder /app/main .
    CMD [“./main”]

0