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

相关推荐
microrain18 小时前
权限改了,接口立刻生效,菜单要等重新登录:SagooIoT 权限体系的四道闸门
物联网·golang·开源·sagooiot
牢姐与蒯18 小时前
一点小碎片——每个线程独有的东西——上下文+栈
linux·运维·服务器
小此方19 小时前
Linux网络(二十):TCP拥塞控制与延迟应答详解:从拥塞窗口到TCP性能优化,理解TCP与UDP的效率差异
linux·网络·php
yunwei3719 小时前
eBPF 开发实践:使用 eBPF 隐藏进程或文件信息
linux·后端·性能优化
芝麻开门29219 小时前
Linux文件系统
linux·文件系统
羔羊++19 小时前
24_实验二十三_运行内核
linux
羔羊++19 小时前
23_实验二十二_移植网卡驱动
linux
水饺编程19 小时前
第1章:开发环境搭建,在 Windows 中安装 Git
linux·c语言·汇编·git·ubuntu
0+11119 小时前
Linux --进程间关系和守护进程
linux·运维·服务器
AIgorithmGEEK19 小时前
[Linux]HTTP 应用层协议全解(下篇)
linux·网络·网络协议·http·cookie·无连接·无状态