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

相关推荐
weixin_307779132 小时前
Linux下Nginx故障系统化检查Shell脚本
linux·运维·服务器·nginx·自动化
skyutuzz3 小时前
node安装部署
linux
一次旅行4 小时前
【AI工具】Rust-Based CLI:用 xargs 和并行加速你的 Linux 日常
linux·开发语言·rust
山峰哥4 小时前
数据库工程与索引策略实战指南‌
服务器·数据库·sql·oracle·深度优先
qetfw6 小时前
CentOS 7 基础环境配置
linux·运维·centos
天空'之城6 小时前
Linux 系统编程 21:守护进程与日志系统全解
linux·系统编程·日志系统·守护进程
l1t7 小时前
用split命令恢复被wget -c命令误追加的zip压缩包
linux
随性而行3607 小时前
微信API接口与AI自动化:开发者的实现思路
运维·服务器·开发语言·人工智能·微信·自动化
辉灰笔记8 小时前
MySQL8 意外关机/误移data目录导致服务启动失败 PID报错/权限报错 修复文档
linux·数据库·mysql·centos
Generalzy8 小时前
从本地 Demo 到生产级检索:Milvus 学习笔记(2)
golang·milvus