如何解决Golang 在未连接到互联网的 linux 机器上编译
由于公司政策,我们有一台 CI/CD 服务器未连接到 Internet。
我想在这台服务器上运行单元测试。
我可以将 WinScp 文件传送给它。 为了让它工作,我想我会从我的源 Windows 机器上 FTP 编译工作的所有文件,基本上是复制 GOPATH 目录中的所有文件。
但我仍然得到错误,例如我实际上有这个文件 /export/home/teamcity/go/src/github.com/jinzhu/copier@v0.0.0-20190924061706-b57f9002281a
Gopath 集 [17:40:40][步骤 1/1] GOPATH="/export/home/teamcity/go"
但是 CI/CD 构建会出现此错误
[步骤 1/1] 去:github.com/jinzhu/copier@v0.0.0-20190924061706-b57f9002281a: git fetch -f https://github.com/jinzhu/copier refs/heads/:refs/heads/ refs/tags/:refs/tags/ 在 /export/home/teamcity/go/pkg/mod/cache/vcs/556feec929544a421f03ed1922f1d1bfffe10a3eaaf694889bbdbe940ff0218:exit28 [17:40:41] [步骤 1/1] 致命:无法访问“https://github.com/jinzhu/copier/”:无法解析主机:github.com;名称或服务未知
有没有人有在没有连接到互联网的服务器上编译 Golang 代码的经验?
解决方法
您应该查看 go modules 的官方文档以了解其工作原理。
就您而言,只需先下载所有依赖项:
go mod download
然后将所有依赖项复制到您的项目中:
go mod vendor
之后,将您的代码与此供应商一起发送。它包括在您的服务器上构建所需的所有包。
go build -mod vendor
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。