【发现一个问题】go mod vendor不会拷贝项目目录中的.c文件 ...

打印 上一主题 下一主题

主题 1730|帖子 1730|积分 5190

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!
近期做了一个包含 cgo 的 golang 库,为了让依赖的 ffmpeg 等方便引用,于是提供了编译镜像。
相当于库内的代码直接在编译镜像里可以很方便地编译和运行。
但是,当一个业务方独立 import 这个库时,发生很多问题:
1 用户在代码里:
  1. import "path_to_my_repo"
复制代码
2 当这个代码在容器中 go build 的时间,容器中的 go 先使用 git 来克隆这个库。导致:
· 编译容器首先没有装 git
· 装了 git 后,又没有配置 git 账号,导致无法访问公司内部的仓库。
3 于是,我在容器外先运行 go mod vendor,然后希望在容器内编译时,不需要从网络下载任何依赖。
于是问题来了:go mod vendor 只把全部 go 代码的依赖拷贝到 vendor 目录。
而此中 cgo 依赖了几个 .c 文件。go mod vendor 不会把 c 文件拷贝到 vendor 目录,导致 go 文件编译不通过。
暂时还未找到办理办法。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

水军大提督

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表