• Go包管理Glide使用心得


    Glide是Go语言的一种包管理工具,官网:https://glide.sh/, Github地址: https://github.com/Masterminds/glide。当然从Go 1.13开始,模块模式变成所有开发的默认模式。关于Go module,可阅读Go官方博客:Using Go Modules

    以下是Glide的一些使用心得:

    一般使用glide install,这样会读取配置文件glide.lock,保证每次构建时用的依赖包都是相同的,不会随便升级。

    执行glide up会自动更新glide.lock,在生产环境,这样会有一定风险,例如最新版本与开发用的版本不兼容,导致构建或运行出错,因此一般使用glide install。

    最强大的命令是glide up,因为up命令除了解析glide.yaml,也会走读代码中的依赖树,下载到vendor目录。

    glide.yaml示例,注意文件中的version可以是分支名、tag名等。

    package: github.com/foo/bar
    import:
    - package: git.apache.org/thrift.git
      version: =0.9.2
      subpackages:
      - lib/go/thrift
    - package: github.com/bouk/monkey
      version: ^1.0.1
    

    glide.lock示例

    hash: ed07eda8c92ac4df03a9b1fca70d6dac1d94430d1ebfa5011ca8c37eaec1173f
    updated: 2020-02-25T15:56:03.200606621+08:00
    imports:
    - name: git.apache.org/thrift.git
      version: 591e20f9636c37527a70dc03598218c3468a0eff
      subpackages:
      - lib/go/thrift
    - name: github.com/bouk/monkey
      version: bdf6dea004c6fd1cdf4b25da8ad45a606c09409a
    

    注意glide.lock文件中的version是git commit hash,以github.com/bouk/monkey为例,version: bdf6dea004c6fd1cdf4b25da8ad45a606c09409a表示如下的提交内容:

    $ git show bdf6dea004c6fd1cdf4b25da8ad45a606c09409a -n 1
    
    commit bdf6dea004c6fd1cdf4b25da8ad45a606c09409a (tag: v1.0.1)
    Merge: 5df1f20 58750f3
    Author: Bouke van der Bijl <boukevanderbijl@gmail.com>
    Date:   Tue Aug 21 14:10:00 2018 +0200
    
        Merge pull request #20 from bouk/canonical
    
        Add canonical import path
    
  • 相关阅读:
    SCOI2003 字符串折叠
    UVA1629 Cake slicing
    POI2008 KLO-Building blocks
    NOI导刊2010提高 符文之语
    MongoDB数据库的基本操作
    React Naive 解决防止多次点击的解决方法
    如何自定义修改博客园样式
    语法对照表ES5VSES6
    MongoDB数据库安装
    小程序学习2 常用小程序概念以及代码实现
  • 原文地址:https://www.cnblogs.com/sxpujs/p/12465538.html
Copyright © 2020-2023  润新知