linux中go环境配置

2023年 8月 7日 62.3k 0

linux中go环境配置

  • 下载压缩包
  • 使用wget命令在官方网站选择对应的压缩包进行下载

    wget https://studygolang.com/dl/golang/go1.20.6.linux-amd64.tar.gz

  • 解压缩
  • 使用tar命令解压缩
    sudo tar -C /usr/local/ -xzvf go1.20.6.linux-amd64.tar.gz

    命令:tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数N

    • -c,创建压缩文件,用于压缩模式
    • -v,显示压缩,解压的过程
    • -x,解压模式
    • -f,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个
    • -zgzip模式,不使用-z就是普通的tarball格式
    • -C,选择解压的目的地,用于解压模式
  • 配置环境变量
  • sudo vim /etc/profile

    最后面加入以下内容

    export GOROOT=/usr/local/go
    export GOPATH=/usr/local/gopath
    export PATH=$PATH:$GOROOT/bin
    

    source /etc/profile命令立即生效

    环境变量env

    • $可以取出环境变量echo $变量名
    • 临时设置,语法:export 变量名=值
    • 永久设置
      • 针对当前用户,配置在当前用户的~/.bashrc文件中
      • 针对所有用户,配置在系统的/etc/profile文件中
      • 配置完成后用source 配置文件的形式,进行立刻生效
        自定义文件最后添加内容形如export PATH=$PATH:~/workspace
  • 配置go代理
  • go env -w GO111MODULE=on
    go env -w GOPROXY=https://goproxy.io,direct
    
  • go env检查
  • GO111MODULE="on"
    GOARCH="amd64"
    GOBIN=""
    GOCACHE="/home/whopxx/.cache/go-build"
    GOENV="/home/whopxx/.config/go/env"
    GOEXE=""
    GOEXPERIMENT=""
    GOFLAGS=""
    GOHOSTARCH="amd64"
    GOHOSTOS="linux"
    GOINSECURE=""
    GOMODCACHE="/usr/local/gopath/pkg/mod"
    GONOPROXY=""
    GONOSUMDB=""
    GOOS="linux"
    GOPATH="/usr/local/gopath"
    GOPRIVATE=""
    GOPROXY="https://goproxy.io,direct"
    GOROOT="/usr/local/go"
    GOSUMDB="sum.golang.org"
    GOTMPDIR=""
    GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
    GOVCS=""
    GOVERSION="go1.20.6"
    GCCGO="gccgo"
    GOAMD64="v1"
    AR="ar"
    CC="gcc"
    CXX="g++"
    CGO_ENABLED="1"
    GOMOD="/dev/null"
    GOWORK=""
    CGO_CFLAGS="-O2 -g"
    CGO_CPPFLAGS=""
    CGO_CXXFLAGS="-O2 -g"
    CGO_FFLAGS="-O2 -g"
    CGO_LDFLAGS="-O2 -g"
    PKG_CONFIG="pkg-config"
    GOGCCFLAGS="-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build360974333=/tmp/go-build -gno-record-gcc-switches"
    
  • 创建go项目
  • mkdir hello_go
    touch main.go
    go mod init hello_go (形成go.mod文件)
    

    go mod

    go mod是一个包管理工具,也就是管理那些你的这个项目中所依赖的库包。
    作为官方的包依赖管理工具,已经被广泛的用在了各个开源的项目中。
    
    go mod init 应用名称(项目名称)  ,执行该命令,会在应用过的根目录下(家目录),生成go.mod文件。
    
    我们在进行go语言项目开发的时候,会依赖3种类型的库包:
       (1)内置的标准库包,在goroot/src目录下,也就是我们安装目录的src目录下(类似于python的bin目录)
       (2)第三方库包(git上开源的)
       (3)项目中的库包,也就是项目中的其他目录。自己调用自己写的函数方法
       
    如果是go之前的版本,会先将项目中所依赖的库包通过go get命令下载到本地的gopath目录下,然后在需要的时候就到对应的gopath目录下去查找。
    但是这种做法是有很大的问题的,具体是啥问题,这里就不多说了。
    然后为了解决这个问题,go.mod就闪亮登场了。
    
    使用go mod 来管理项目,我们就不需要非得把go语言的项目放在$gopath指定目录下了,而是可以在磁盘的任何位置新建一个项目。
    

    ps:

    在上面中,我们通过 go mod init xxx命令生成了go.mod文件之后,这只是一个空的文件,
    其中依赖的各种包还没有生成,可以使用以下2种命令获取:
      go get 包名
          如果依赖包比较多,那么 go get 就比较麻烦了。可以使用另外一个命令:
      go mod tidy
          这个命令将会扫描所有我们写的.go文件中import到的库包,并生成对应的记录到go.mod文件里。
    
    

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论