在go语言项目中,引入本地包很常见,举个例子。
postgres_exporter 引入本地的pq。下载和运行postgres_exporter
下载postgres数据使用驱动:git clone git@github.com:lib/pq.git
package main
import (
...
"github.com/lib/pq"
...
查看源码位置
[root@baidu1 postgres_exporter]# pwd
/gopath/postgres_exporter
[root@baidu1 pq]# pwd
/src/pq
使用 replace 将远程包替换为本地包服务
[root@baidu1 postgres_exporter]# vi go.mod
replace github.com/lib/pq => /src/pq
打包,应用
make build
export DATA_SOURCE_NAME=postgresql://postgres_exporter:password@localhost:5432/postgres?sslmode=disable
./postgres_exporter <flags>