在 Go 中设置和使用私有模块

在 Go 中设置和使用私有模块

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

在Go中使用私有模块需要先创建目录并初始化模块,然后提交到仓库。通过设置GOPRIVATE变量和配置git使用SSH或访问令牌进行身份验证,可以成功访问私有模块。

🎯

关键要点

  • 在Go中使用私有模块需要创建目录并初始化模块。

  • 通过运行命令$ go mod init github.com/author/module-name来初始化模块。

  • 提交模块并添加标签以进行版本控制,然后将模块推送到仓库。

  • 私有模块需要身份验证才能访问,可以通过本地环境变量、Github操作或dockerfile进行身份验证。

  • 设置GOPRIVATE环境变量以帮助Go命令判断模块是公共还是私有。

  • 使用命令$ export GOPRIVATE=github.com/author/module-name设置GOPRIVATE变量。

  • 配置git以通过SSH而不是HTTP(S)获取模块。

  • 使用命令$ git config --global url."git@github.com:author/module-name".insteadOf "https://github.com/author/module-name"配置git。

  • 设置GITHUB_ACCESS_TOKEN变量为个人访问令牌,并设置GONOPROXY变量为localhost。

  • 更新全局git配置以使用生成的个人令牌。

  • 配置完成后,可以通过运行go run .命令或指定模块github路径的go get命令来获取私有模块。

延伸问答

如何在Go中初始化私有模块?

在Go中初始化私有模块,可以通过运行命令$ go mod init github.com/author/module-name来完成。

设置GOPRIVATE变量的目的是什么?

设置GOPRIVATE变量的目的是帮助Go命令判断模块是公共还是私有,以避免通过公共Go缓存服务器获取私有模块。

如何配置git以通过SSH获取私有模块?

可以通过运行命令$ git config --global url."git@github.com:author/module-name".insteadOf "https://github.com/author/module-name"来配置git使用SSH。

如何使用个人访问令牌访问私有模块?

需要设置GITHUB_ACCESS_TOKEN变量为个人访问令牌,并更新全局git配置以使用该令牌进行身份验证。

在Go中如何提交和推送私有模块?

在Go中,提交私有模块后,需要添加标签以进行版本控制,然后将模块推送到仓库。

如何在Go项目中获取私有模块?

可以通过运行go run .命令或使用go get命令指定模块的GitHub路径来获取私有模块。

➡️

继续阅读