Just Do IT !

Golang1.14 go modules 怎么导入本地其它项目的包? 看完这篇文章, 终于搞懂了

字数统计: 412阅读时长: 1 min
2020/04/04 Share

相信大家在本地使用go mod开发项目时, 肯定会遇到很多依赖包的问题。因为go mod在最近的1.13中使用了Go GO111MODULE·
模块进行包管理。
设置Go GO111MODULE

有的小伙伴使用过程中肯定非常痛苦,因为不是很熟练, 而且里面还有很多不人性化的设置,网上的资料甚少,都是一篇文章你抄我,我抄你, 查阅大量文章之后无果,一怒之下我决定好好研究一下go mod

遇到的问题

在本地下我有logCollectlogCollect/logBeegoWeb两个go modules模块, 那么我该如何在当前项目中加载另一个本地正在开发的模块呢?

在这里插入图片描述
在这里插入图片描述

问题解决

logBeegoWeb/go.mod

这里我go.mod里导入了很多包, 为了不影响观看体验, 所以这里就暂时没有写进去

1
2
3
4
5
6
7
8
module logBeegoWeb

go 1.14

require (
logCollect v0.0.0
)
replace logCollect => E:\Go\Gopath\src\demoCode\logCollect

名词解释

logCollect v0.0.0: logCollect是你要导入的包名称, 后面是版本号, 因为是本地开发,所以设置为v0.0.0

replace logCollect => E:\Go\Gopath\src\demoCode\logCollect 这里需要使用repalcelogCollect设置为不从网上拉取, 而是加入本地路径导入

想要导入本地项目, 只需要加入包名与版本号replace 本地地址

注意: 该方法是导入其他mod下的包, 如果导入的包没有go mod init初始化
报错找不到mod文件: go: lock@v0.0.0: parsing ..\..\lock\go.mod: open E:\Go\Gopath\src\demoCode\lock\go.mod: The system cannot find the file specified.

Go Modules查看, 导入本地项目成功!
在这里插入图片描述

CATALOG
  1. 1. 遇到的问题
  2. 2. 问题解决
    1. 2.1. 名词解释