• 拾遗:govendor(Golang 依赖库版本控制)


    官方资料:

    效果

    • 逐层递归向上查找遇到的 vendor 目录,直到找到目标内容
    • 若 vendor 目录中没有找到目标,最后会去 go 的标准目录下查找

    Quick Start

    # Setup your project.
    cd "my project in GOPATH"
    govendor init
    
    # Add existing GOPATH files to vendor.
    govendor add +external
    
    # View your work.
    govendor list
    
    # Look at what is using a package
    govendor list -v fmt
    
    # Specify a specific version or revision to fetch
    govendor fetch golang.org/x/net/context@a4bbce9fcae005b22ae5443f6af064d80a6f5a55
    govendor fetch golang.org/x/net/context@v1   # Get latest v1.*.* tag or branch.
    govendor fetch golang.org/x/net/context@=v1  # Get the tag or branch named "v1".
    
    # Update a package to latest, given any prior version constraint
    govendor fetch golang.org/x/net/context
    
    # Format your repository only
    govendor fmt +local
    
    # Build everything in your repository only
    govendor install +local
    
    # Test your repository only
    govendor test +local

    FAQ

    Q: How do I test only my packages?
      A: Run govendor test +local.
    Q: How do I build install all my vendor packages?
      A: Run govendor install +vendor,^program.
    Q: How do I pull all my dependencies from network remotes?
      A: Run govendor fetch +out.
    Q: I have a working program with dependencies in $GOPATH. I want to vendor now.
      A: Run govendor add +external.
    Q: I have copied dependencies into "vendor". I want to update from $GOPATH.
      A: Run govendor update +vendor.
    Q: I'm getting missing packages from appengine but I don't care about appengine. How do I ignore these packages?
      A: Edit the vendor/vendor.json file. Update the "ignore" field to include "appengine". If you are already ignoring tests, it will look like: "ignore": "test appengine",.
    Q: I have modified a package in $GOPATH and I want to try the changes in vendor without committing them.
      A: Run govendor update -uncommitted <updated-package-import-path>.
    Q: I've forked a package and I haven't upstreamed the changes yet. What should I do?
      A: Assuming you've pushed your changes to an accessable repository, run govendor fetch github.com/normal/pkg::github.com/myfork/pkg. This will fetch from "myfork" but place package in "normal".
    Q: I have C files or HTML resources in sub-folders. How do I ensure they are copied as well?
      A: Run either govendor fetch github.com/dep/pkg/^ or govendor add github.com/dep/pkg/^. This is the same as using the -tree argument.
    Q: How do I prevent vendor source from being checked in?
      A: Add vendor/*/ to your ignore file.
    Q: How do I populate the vendor folder if it has not been checked in?
      A: Run govendor sync.

    ...

  • 相关阅读:
    solr 的全量更新与增量更新
    solr 服务器的搭建
    Mysql 问题
    App 微信支付
    App 支付宝支付
    Linux 常见命令
    [备注] 钉钉使用教程
    PARAMETER和ARGUMENT的区别
    无界面浏览器
    URLs ...
  • 原文地址:https://www.cnblogs.com/hadex/p/6656567.html
Copyright © 2020-2023  润新知