使用了Go mod管理的项目里如何添加新的第三方包?

已邀请:

zkbhj - 凯冰科技站长

赞同来自:

1、先通过go get 下载你需要的第三方包到本地机器;
 go get go.uber.org/zap

go: downloading go.uber.org/zap v1.16.0
go: go.uber.org/zap upgrade => v1.16.0
下载完成后,这个包的代码就被下载到了你本地go工作目录下的src/mod/目录里。
在我的机器中,目录如下:
/home/www/go/pkg/mod/

QQ截图20200917112651.png

 
此刻,在你的项目目录下的go.mod文件中,已经出现了一条新的记录:
go.uber.org/zap v1.16.0
但此刻你还不能直接在项目中import引用他,因为还没有“复制”到 vendor目录下。否则会报下面的错误:
 
root@ZKBHJ-PC:/mnt/i/My/golang/src/garden# go run jsontest.go
go: inconsistent vendoring in /mnt/i/My/golang/src/garden:
go.uber.org/zap@v1.16.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt

run 'go mod vendor' to sync, or use -mod=mod or -mod=readonly to ignore the vendor directory

所以,还需要下一步操作!
 
2、通过 go mod vendor命令,将包代码复制到vendor目录下:
go mod vendor
执行完之后,你就可以顺利使用啦~

要回复问题请先登录注册