ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

搭建Linux Go项目工程环境

2021-08-03 21:00:24  阅读:116  来源: 互联网

标签:bin goproject go usr Linux Go root 搭建


 

下载和安装Go软件包

下载地址:

https://studygolang.com/dl

安装Go关键包

 # rm -rf /usr/local/go && tar -C /usr/local -xzf go1.16.6.linux-amd64.tar.gz 

设置go环境变量

编辑 /etc/profile文件设置PATH环境变量

添加如下信息
export PATH=$PATH:/usr/local/go/bin

# source /etc/profile
# 检查PATH环境变量
# echo $PATH
/usr/lib64/qt-3.3/bin:/root/perl5/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/go/bin

# 检查Go版本信息
# go version
go version go1.16.6 linux/amd64

设置GOPATH环境变量

主要关注三个Go环境变量,GOROOT和 GOPATH,以及GO111MODULE

GOROOTGolang源代码目录,安装目录;GOPATH是Golang项目代码目录

可以通过以下命令改写:

go env  -w GOROOT="/usr/local/go"

go env  -w GOPATH="/home/goproject"

设置GO111MODULE

 go env  -w GO111MODULE="off" 或者 "auto"

否则编译自己的工程目录时,出现查找失败问题:

# go build helloworld
package wintcpcore is not in GOROOT (/usr/local/go/src/helloworld)

Go env环境变量信息:

[root@localhost ~]# go env
GO111MODULE="auto"
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/goproject/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/goproject"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.16.6"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build2323615239=/tmp/go-build -gno-record-gcc-switches"

 

创建Go工程目录

# mkdir /home/goproject
# mkdir /home/goproject/bin
# mkdir /home/goproject/src
# mkdir /home/goproject/pkg

# ls goproject/

bin  pkg  src

 

目录说明:

src:存放go源代码的目录,存放Golang项目的目录,以及所有项目代码都放在这个目录下

bin:在go install后生成的可执行文件的目录

pkg:编译后生成的,源码文件,如.a (本文作者实践的例子中,并没有文件在这个目录下,需要再继续研究)

 

 创建Golang项目示例

以创建HelloWorld项目为例:)

# ll
total 7040
drwxr-x--- 2 root root    4096 Jul 28 14:24 bin
drwxr-x--- 2 root root    4096 Jul 28 14:24 pkg
drwxr-x--- 3 root root    4096 Jul 28 14:24 src

# ll /home/goproject/src
total 12
drwxr-x--- 2 root root 4096 Aug  2 19:49 helloworld

 

# ll /home/goproject/src/helloworld/
total 4
-rw-r----- 1 root root 443 Aug  2 19:49 helloworld.go

 

[root@localhost goproject]# go install helloworld
[root@localhost goproject]# ll bin/
total 1900
-rwxr-x--- 1 root root 1938248 Aug  3 20:46 helloworld

# 运行helloworld
# ./bin/helloworld
Hello, World!

 

参考资料:

【1】Goland创建Go project 配置当前project GOPATH

https://blog.csdn.net/qq_33398607/article/details/103820841?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-0.control&spm=1001.2101.3001.4242

【2】Go 安装包下载

https://studygolang.com/dl

【3】下载和安装Golang软件包

http://docs.studygolang.com/doc/install

 【4】Go 模块解惑:到处都是 GO111MODULE ,这到底什么?

https://learnku.com/go/t/39086

【5】Linux搭建Go环境

https://www.cnblogs.com/anthony-wang0228/articles/11089172.html

【6】初学者没有搞明白的GOROOT,GOPATH,GOBIN,project目录

https://www.cnblogs.com/zhaof/p/7906722.html

标签:bin,goproject,go,usr,Linux,Go,root,搭建
来源: https://www.cnblogs.com/smith9527/p/15070337.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有