zoukankan      html  css  js  c++  java
  • go开发 modules 的使用和代理

    go开发 modules 的使用和代理

    初学go语言,一堆 来自谷歌的包如

    import (

    "code.google.com/xxx" 

    )

    不翻墙是很难下载下来的。

    另外还有麻烦的 gopath 需要去管理。

    但是自从go 1.1.1 开始,新增了 modules 工具,可以让我们像开发 node 的时候,使用 npm 一样的方便。

    一、设置代理 

    linux设置如下:

    export GOPROXY=http://xxxx
    

      

    windows设置:

    在环境变量里面,新增一栏名称为:

    GOPROXY:http://xxxx
    

     

    其中,http://xxxx为代理的地址

    常见的代理地址列表:
    
    阿里: https://mirrors.aliyun.com/goproxy/
    
    官方: https://goproxy.io/
    
    中国:https://goproxy.cn
    
    其他:https://gocenter.io
    
    golang 下载:
    
    https://gomirrors.org/
    
    https://golang.google.cn/dl/
    

      

    二、配置后查看


    配置完成,输入 go env 可以查看配置,注意windows需要重新打开 CMD。linux 需要更新配置

    三、使用

    在空文件夹下面,或者已经存在的项目下面。(可以不需要 build、bin、src 等文件)

    执行初始:

    go mod init  xxxx      //xxx为模块导入路径
    

      

    再执行下面命令,会自动寻找依赖,加入

    go mod tidy
    

      

    四、go  modules常用命令

    go mod init:创建一个新模块,初始化 go.mod 文件,参数为该模块的导入路径,推荐使用这种形式。如:go mod init github.com/linehk/example。
    go get:更改依赖项版本(或添加新的依赖项)。
    go build、go test 等命令:Go 命令行工具会根据需要添加新的依赖项。如:go test ./...,测试当前模块。
    go list -m all:打印当前模块依赖。
    go mod tidy:移除无用依赖。
    go list -m -versions github.com/gin-gonic/gin:列出该模块的所有版本。
    go mod verify:验证哈希。
    

     

    五、在 beego框架中使用 modules

    首先安装 beego
     go get -u github.com/astaxie/beego
     go get -u github.com/beego/bee
    

    想要快速建立一个应用来检测安装?

    linux

    $ cd $GOPATH/src
    $ bee new hello
    $ cd hello
    $ bee run
    

      

    windows

    >cd %GOPATH%/src
    >bee new hello
    >cd hello
    >bee run
    

      

    如果错误,可能是需要配置环境变量,windows下面,安装完成,在 gopath -> bin下面有一个bee.exe文件,需要配置到 path的环境变量里面

    此时在 GOPATH 的文件夹 src目录下面,可以看见bee创建的项目

    可以将整个项目拷贝出来,脱离 gopth使用。只需要在目录执行:

    go mod init hello
    go mod tidy
    

      

     

  • 相关阅读:
    ROS知识(6)----基于Eclipse开发
    点旋转和坐标系旋转
    单目相机标定
    卡尔曼滤波(Kalman Filter)在目标边框预测中的应用
    稀疏编码直方图----一种超越HOG的轮廓特征
    Ubantu14.04下编译OpenCV3.0.0以及读取图片例子
    Linux知识(6)----VIM
    Linux知识(5)----LINUX下GDB调试
    抽象类与接口的区别
    java synchronized 用法
  • 原文地址:https://www.cnblogs.com/muamaker/p/11609346.html
Copyright © 2011-2022 走看看