• 搭建Linux Go项目工程环境


    下载和安装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

  • 相关阅读:
    Cactus详细讲解
    jexus处理静态文件(处理后缀)
    简单的html兼容(参考js和css的常规写法)
    IOHelper(自制常用的输入输出的帮助类)
    @Html.AntiForgeryToken() 源码分析,表单防伪码的生成
    缓存处理类(MemoryCache结合文件缓存)
    MVC过滤大法(过滤静态文件)
    C#文件监控工具(对追加内容的监控并输出)
    C#在Linux上的开发指南
    对java面试文章的技术漫谈的C#技术理解
  • 原文地址:https://www.cnblogs.com/smith9527/p/15070337.html
Copyright © 2020-2023  润新知