网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 后端开发 > Go >

【发现一个问题】go mod vendor不会拷贝项目目录中

时间:2025-05-14 16:01

人气:

作者:admin

标签:

导读:作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 近期做了一个包含 cgo 的 golang 库,为了让依赖的 ffmpeg 等方便引用,于是提供...

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!


近期做了一个包含 cgo 的 golang 库,为了让依赖的 ffmpeg 等方便引用,于是提供了编译镜像。
相当于库内的代码直接在编译镜像里可以很方便地编译和运行。

但是,当一个业务方独立 import 这个库时,发生很多问题:
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 文件编译不通过。

暂时还未找到解决办法。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信