在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
对于mod使用好多人不是那么清楚,今天刚好有人问我这个问题,就把这个事情说一下子。 mod使用准备事项,两个环境变量,如图
1.开始使用,命令
执行该命令后,执行的目录下面就会出现一个go.mod文件 2.开始写入使用包,直接执行构建语句,就是go build,然会进行下载对应的包执行完毕后就会文件会出现你使用的一些包,还会出现一个go.sum的文件,记录了你的版本过程 至此,已经是可以运行了,不过还可以将对应包下载保存 3.本地保存使用包,命令
执行该命令后,会出现一个vendor文件夹,里面就是你引用的所有包,由此就可以看出,使用mod后,已经不用依赖于原始的gopath,灵活性更高了。 如果使用过程中有包的变动等,可以使用其他命令辅助,比如 go mod命令(详细信息请移步官方,这里简略说一下)download:download modules to local cache (下载依赖的module到本地cache)) edit :edit go.mod from tools or scripts (编辑go.mod文件) graph : print module requirement graph (打印模块依赖图)) init :initialize new module in current directory (再当前文件夹下初始化一个新的module, 创建go.mod文件)) tidy : add missing and remove unused modules (增加丢失的module,去掉未用的module) vendor :make vendored copy of dependencies (将依赖复制到vendor下) verify : verify dependencies have expected content (校验依赖) why : explain why packages or modules are needed (解释为什么需要依赖) 1.目录中有自己的定义包怎么办,出现以下问题,说你的包不在goroot中,就是i说找不到
问题解决:该问题就是构建mod的路径不对,以我当前的这个项目为例 common文件夹里面是项目启动main,如果在这里构建mod,然后,这个启动项里面引用了其他几个包(上一级的core,lib,loader等),这时候,就会找不到这些包 解决办法:在项目根目录下面构建mod包,这些引用的包都在该目录下,这样就没有问题了。以我这里为例,根目录是stbweb,启动项common中引用了其他包,我就直接在stbwb(项目运行根目录)目录下执行 作者:哆啦在这A梦在哪 链接:https://www.jianshu.com/p/dd58da3100d7 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 |
请发表评论