使用golang引入外部包的三种方式:go get, go module, vendor目录
作者:guoguolifang
import "github.com/astaxie/beego" 编译出错解决方案:
go get
确保你的GOPATH是工程目录,代码在src目录下,然后在命令提示符中输入:go get github.com/astaxie/beego,
然后在本地的src下就生成了要引入的外部包。
注意:
在使用GoLand工具时,配置settings->Go->GOPATH->Project GOPATH为当前工程目录
go module
Go 的 1.11版本以上才能使用Go Module,1.13版本以下Go Module默认关闭,
首先需要设置环境变量 set GO111MODULE=on,
在GOPATH的目录下,新建项目文件夹,进入新建路径执行go mod init,在文件夹下生成go.mod文件,
然后将需要引入外部包的go文件置于项目目录下,编译文件,就会把外部包下载到本地的GOPATH/pkg/mod目录下
注意:
在使用GoLand工具时,不要配置Project GOPATH为当前工程目录,最好不要配置Project GOPATH,而是配置Module GOPATH
vendor目录
首先安装govendor : go get -u -v github.com/kardianos/govendor
下载完,配置环境变量GOPATH/bin,键入命令govendor -version 检查是否安装成功
在GOPATH/src的目录下,新建项目文件夹,进入新建路径执行gogovendor init,就会在文件夹下生成vendor/vendor.json,
然后将需要引入外部包的go文件置于项目目录下,
使用命令:
govendor fetch github.com/golang/glog 将外部文件下载到本地vendor/下,并在vendor.json中添加该依赖包的信息,其中govendor fetch是从从远端库添加依赖包,而从 $GOPATH 中添加依赖包,使用govendor add
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。