14

Go module 使用说明

 5 years ago
source link: https://studygolang.com/articles/27367
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

go modules 是 golang 1.11 新加的特性。

1、设置go mod

GO111MODULE

GO111MODULE 有三个值:off, on和auto(默认值)。

  • GO111MODULE=off,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。
  • GO111MODULE=on,go命令行会使用modules,而一点也不会去GOPATH目录下查找。
  • GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:
  • 当前目录在GOPATH/src之外且该目录包含go.mod文件
  • 当前文件在包含go.mod文件的目录下面。
  • 当modules 功能启用时,依赖包的存放位置变更为$GOPATH/pkg,允许同一个package多个版本并存,且多个项目可以共享缓存的 module。

2、go mod命令

命令 说明 download download modules to local cache(下载依赖包) edit edit go.mod from tools or scripts(编辑go.mod) graph print module requirement graph (打印模块依赖图) init initialize new module in current directory(在当前目录初始化mod) tidy add missing and remove unused modules(拉取缺少的模块,移除不用的模块) vendor make vendored copy of dependencies(将依赖复制到vendor下) verify verify dependencies have expected content (验证依赖是否正确) why explain why packages or modules are needed(解释为什么需要依赖)

使用replace替换无法直接获取的package

modules 可以通过在 go.mod 文件中使用 replace 指令替换成github上对应的库,比如:

replace (

golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a => github.com/golang/crypto v0.0.0-20190313024323-a1f597ede03a

github.com/x/abc => /home/desktop/x/abc // abc包需要初始化mod文件

)


Recommend

  • 83
    • www.cnblogs.com 7 years ago
    • Cache

    InfluxDB使用说明

    操作系统 : CentOS7.3.1611_x64 go语言版本:1.8.3 linux/amd64 InfluxDB版本:1.1.0 安装InfluxDB之后,在/usr/bin下会有如下几个文件: influxd influxdb服务器 influx influxdb命令行客户端 influx_insp...

  • 141
    • pingguohe.net 7 years ago
    • Cache

    VirtualView 工具使用说明

    VirtualView 工具使用说明

  • 146

    作者:快刀何,公众号:快刀何 全文共 11121 字 14 图,阅读超过 20 分钟 ———— / BEGIN / ————...

  • 95

    批量下载图片这种事儿,不管是谁可能都要遇上那么几回。作为一名信息管理与信息系统讲师,我经常需要大量图像来训练模型,这个需求也就更强烈。 一般来说,搜图时我们都会在 Google 图片中搜索我们想要的东西。比如键入「Walle」...

  • 58
    • down.51cto.com 6 years ago
    • Cache

    MySQL Workbench基础使用说明

    MySQL Workbench详细使用方法,对于互联网设计软件,workbench比navicate更有优势

  • 52

    目前有两个时间日期选择模块可以使用。 bootstrap-datetimepicker 项目地址: https://github.com/Eonasdan/bootstrap-datetimepicker ...

  • 54
    • www.hongweipeng.com 6 years ago
    • Cache

    分布式任务队列Celery使用说明

    起步 Celery 是一个简单、灵活且可靠的,处理大量消息的分布式系统,并且提供维护这样一个系统的必需工具。它是一个专注于实时处理的任务队列,同时也支持任务调度。 运行模式是生产者消费者模式:

  • 39

    CocoaPods由Ruby脚本语言写的一种统一管理iOS开发的第三方库,CocoaPods项目的源码 在 Github 上管理。该项目开始于 2011 年 8 月 12 日,经过多年发展,现在已经成为 iOS 开发事实上的依赖管理标准工具。开发 iOS 项目不可避免地要使用第三方开源库,CocoaPods 的...

  • 68

    常见的web应用大多是提供基础的REST服务,简单来讲就是用户发起一个请求,然后给出反应,可以理解为由客户主动发起的单边操作;那么有没有一种技术是服务端主动发起,与客户端进行交互的? 非常常见的几个需求场景,如聊天室的实...

  • 40

    常见的web应用大多是提供基础的REST服务,简单来讲就是用户发起一个请求,然后给出反应,可以理解为由客户主动发起的单边操作;那么有没有一种技术是服务端主动发起,与客户端进行交互的? 非常常见的几个需求场景,如聊天室的实...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK