【发布时间】:2019-02-16 07:55:55
【问题描述】:
go mod 不包含 vendor 目录中的 non-go 代码。
目前我们正在使用 go 和 go-oracle 连接到数据库。我们正计划使用 docker,所以我们想到了使用 go 模块对我们的项目进行版本化的想法。但是由于 go-oracle 具有包含 C 代码的子文件夹,因此不会从 go 在 pkg 文件夹中创建的 mod 目录中复制它。有没有办法我们也可以添加非 go 代码?我们确实尝试使用https://github.com/goware/modvendor,但它没有复制非执行代码。除非我们没有正确使用它。
package main
import (
"fmt"
"github.com/jmoiron/sqlx"
log "github.com/sirupsen/logrus"
goracle "gopkg.in/goracle.v2"
)
const connectionString = "some connection string"
func main() {
fmt.Print("Inside main")
db, err := sqlx.Connect("goracle", connectionString)
if err != nil {
log.Infof("Could not connect %v%", err)
} else {
db.Query("select 1 from dual")
}
fmt.Println(goracle.DriverName)
}
进入模组初始化 去模组供应商
你会看到代码不会编译。
【问题讨论】:
标签: go