go - 使用“go get”下载二进制文件而不将它们添加到 go.mod
问题描述
我在我的项目和构建系统(例如 Travis CI)中使用 Go 模块我正在下载一个命令行实用程序(用 Go 编写)go get
来帮助我的构建过程,例如:
go get github.com/mitchellh/gox
但是,这go get
会导致文件被添加到我的go.mod
文件中。这污染了构建环境,导致它“脏”(因为在 git 中跟踪的某些文件发生了更改,在本例中为 go.mod 和 go.sum),我用它git describe --always --dirty --tag
来描述我的构建,它显示为“肮脏的”。
有没有办法“去获取”一个二进制文件来下载它,而不将它添加到 go.mod/go.sum 中?
我已经尝试将 GOPATH 设置到其他地方,即使那样,也会go get
更新 go.mod/go.sum 以将其添加为// indirect
依赖项。
dir="$(mktemp -d)"; \
env GOPATH="$dir" go get github.com/mitchellh/gox && \
mv "$dir/bin/gox" "$(go env GOPATH)"/bin/gox
解决方案
推荐阅读
- jhipster - 杰普斯特错误!实体生成器目前不支持带有 sql 类型数据库的反应式应用程序
- sql - Greatest-n-per-group 查询,包括没有“n”的行
- json - 自动响应下载 (json) Postman
- c++ - 计算组合的有效算法,数组的重复加起来等于给定的总和
- html - 将五个图标排列成两行,形成一个三角形
- .htaccess - .htaccess 将所有子域重定向到外部 URL
- apache-spark - 奇怪的 Parquet 写入瓶颈
- angular - 如何使用 MatDialogRef 在 Angular 中重新加载/更新组件的模板
- kivy - 如何编辑 KivyMD MDDataTable 中的特定行
- azure - Azure 测试计划