Golang的linux运行环境的安装与配置

很多新手在学go时,linux下的配置环境一头雾水,总结下,可供参考!

--------------------------------------Golang的运行环境的安装与配置--------------------------------------

将压缩包放在/home/tools/下

解压

tar -zxvf go1.23.6.linux-amd64.tar.gz

进入:cd /usr/local

进行软连接(直接运行命令,不要建立go文件夹)

ln -s /home/tools/go/ go

变为全局命令:

echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc # 持久化配置

source ~/.bashrc # 立即生效

查看go版本

root@localhost bin# go version

go version go1.23.6 linux/amd64

--------------------------------------配置golang的环境参数--------------------------------------

编辑 /etc/profile 文件,添加以下内容:

export GOROOT=/usr/local/go

export GOPATH=/data/go 设置自己的工作目录

export PATH=PATH:GOROOT/bin:$GOPATH/bin

export GO111MODULE=on

export GOPROXY=https://goproxy.cn,direct 国内修改为cn

生效配置:

source /etc/profile

root@localhost gate_svr# vim /etc/profile

root@localhost gate_svr# source /etc/profile

清除go的缓存和包缓存:

root@localhost gate_svr# go clean -cache

root@localhost gate_svr# go clean -modcache

说明:

GOROOT 为 Golang 安装路径

GOPATH 为工作空间目录,需包含 src、pkg(依赖库)、bin 子目录‌

GOPROXY 用于加速依赖包下载‌

‌验证环境‌

go version # 查看版本

go env # 检查环境变量

‌创建目录结构‌

mkdir -p $GOPATH/{src,pkg,bin}

需确保工作空间与 GOROOT 路径不同。

设置用户权限

sudo chown -R root:root /data/go

sudo chmod 775 /data/go

开始会遇到:编译代码遇到网络链接各种库连接被拒绝的问题:

go: downloading github.com/xuri/excelize/v2 v2.4.1 ../../common/component/log/log.go:5:2: github.com/natefinch/lumberjack@v2.0.0+incompatible: Get "https://goproxy.cn/github.com/natefinch/lumberjack/@v/v2.0.0+incompatible.zip": dial tcp: lookup goproxy.cn on ::1:53: read udp ::1:58615->::1:53: read: connection refused

解决办法:

看看网络是否通畅,

nslookup www.baidu.com

有IP的情况下,防火墙或者dns解析的问题:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

echo "nameserver 8.8.4.4" | sudo tee -a /etc/resolv.conf

systemctl restatus NetworkManager 重启网卡


--------------------------------------测试工作目录--------------------------------------

‌创建测试程序‌

mkdir -p /data/go/src/hello

vim /data/go/src/hello/main.go

内容:

package main

import "fmt"

func main() { fmt.Println("Workspace path: /data/go") }

‌编译运行‌

cd /data/go/src/hello

go build # 生成二进制文件到当前目录

./main # 运行程序

简单的生成go.mod文件:

go mod init hello

go mod tidy

相关推荐
BreezeJiang3 小时前
从域名到 Node.js:一次云服务器请求经过了哪些层?
服务器
草莓熊Lotso5 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
张文君5 小时前
ubuntu26.04坏道坏块分区隔离急速版260831-V0.12
linux·python
贝锐14 小时前
从国产化信创设备到商用安卓终端,向日葵如何帮助企业实现统一运维管理?
linux·运维·远程控制
Julien200415 小时前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
2601_9620746817 小时前
自己编译RustDesk,并将自建ID服务器和key信息写入客户端
运维·服务器
小张同学a.17 小时前
Docker 容器实战 1—— docker 基础与镜像构建
linux·运维·docker·容器
大模型丫丫18 小时前
Hermes Agent:轻量级智能体框架实战指南
大数据·运维·服务器
mooooooooooye19 小时前
2026 年跨平台 SSH 客户端怎么选?Xterminal、Termius、MobaXterm 谁更合适
服务器·网络·ssh
Blockchina19 小时前
Codex 实战:从一句需求到可验收的 Linux 主机巡检脚本
运维·服务器·网络