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

相关推荐
c238566 小时前
Linux C++ 进度条进阶美化与工程化封装
linux·运维·服务器
李小白666 小时前
第四天-WEB服务器基本原理,IIS服务
运维·服务器·前端
爱喝水的鱼丶7 小时前
SAP-ABAP:SAP视图开发入门:四类标准视图的适用场景与创建步骤详解
服务器·数据库·性能优化·sap·abap
凡人叶枫9 小时前
Effective C++ 条款17:以独立语句将 newed 对象置入智能指针
java·linux·开发语言·c++·算法
RisunJan9 小时前
Linux命令-pgrep (通过进程名查找进程 ID)
linux·运维
回忆2012初秋10 小时前
【Nginx】优雅地走进高性能 Web 服务器世界(1)
服务器·前端·nginx
信创工程师-小杨10 小时前
Linux内网环境如何解决依赖的问题
linux·运维·服务器
设计师小聂!10 小时前
宝塔 Linux 面板保姆级教程
linux·mysql·开源·运维开发
不吃土豆的马铃薯10 小时前
C++ 高性能网络缓冲区 Buffer 源码解析
linux·服务器·开发语言·网络·c++
java知路10 小时前
linux yum 下载docker安装包及依赖安装包,并离线安装
linux·运维·docker