Linux安装go及环境配置教程

1. ​​下载Go安装包​​

  • 访问Go官方下载页面选择适合Linux的版本(如go1.22.5.linux-amd64.tar.gz,版本可能更新)。

  • 使用wget直接下载(以Go 1.22.5为例):

    bash 复制代码
    wget https://mirrors.aliyun.com/golang/go1.24.5.linux-amd64.tar.gz

2. ​​解压安装包​​

  • 将安装包解压到/usr/local目录(推荐):

    bash 复制代码
    sudo tar -C /usr/local -xzf go1.24.5.linux-amd64.tar.gz
  • ​权限问题​ ​:若无法写入/usr/local,可解压到用户目录(如~/go),但需额外配置环境变量。

3. ​​配置环境变量​​

  • 编辑Shell配置文件(如~/.bashrc、~/.zshrc或~/.profile):

    bash 复制代码
    vim ~/.bashrc
  • 在文件末尾添加以下内容:

    bash 复制代码
    export PATH=$PATH:/usr/local/go/bin
    export GOPATH=$HOME/go
    export PATH=$PATH:$GOPATH/bin
    • ​说明​:
  • PATH:添加Go可执行文件路径(/usr/local/go/bin)。

    * GOPATH:Go工作目录(默认~/go),存放第三方包和编译后的二进制文件。

  • 使配置生效:

    bash 复制代码
    source ~/.bashrc

4. ​​验证安装​​

  • 检查Go版本:

    bash 复制代码
    go version

    若如下图所示,输出类似go version go1.24.5 linux/amd64,说明安装成功。

5. ​​测试Go程序​​

  • 创建并运行简单的Hello World程序:

    bash 复制代码
    mkdir -p ~/go/src/hello
    cd ~/go/src/hello
    nano hello.go

    写入以下代码:

    go 复制代码
    package main
    import "fmt"
    func main() {
        fmt.Println("Hello, Go!")
    }

    保存后运行:

    go 复制代码
    go run hello.go

    若输出Hello, Go!,则环境配置成功。

6. ​​可选配置​​

  • ​使用Go Modules​​(Go 1.11+默认支持):

    bash 复制代码
    go mod init example.com/hello

生成go.mod文件管理依赖。

  • ​国内用户代理设置​​(解决下载依赖慢):

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

7. ​​卸载Go​​

  • 删除Go目录并清理环境变量:

    bash 复制代码
    sudo rm -rf /usr/local/go

编辑~/.bashrc删除相关配置。

常见问题解决

  • ​go: command not found​ :检查PATH是否包含/usr/local/go/bin,并重新加载配置。
  • ​权限问题​ :使用sudo或解压到用户目录。

通过以上步骤,您可以在Linux系统上完成Go语言的安装和配置。如需更详细的版本管理,可参考工具如gvm(Go Version Manager)。

相关推荐
姜鱼问生6 小时前
Nginx 缓存命中率监控:从 X-Cache-Status 到实时统计
运维·nginx·缓存
Apipi*6 小时前
30天速通Linux 第六章信号及信号处理
linux·运维·信号处理
天启HTTP7 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
运维行者_8 小时前
网络性能监控怎么做?从自动发现到根因分析的4个环节
运维·服务器·网络·人工智能·支持向量机
此时不提桶,更待何时8 小时前
06-14-A-Kafka集群运维与迁移实战详解
运维·kafka
徐小黑ACG9 小时前
Golang 基础05 结构体struct
开发语言·算法·golang
广州浮点FLOATLIC10 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
IT研究所10 小时前
AI-ITR平台如何减少客户问题反复升级?
大数据·运维·人工智能·低代码·自然语言处理·安全架构·企微
BLUcoding10 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom
AIgorithmGEEK10 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化