发布一个包是与世界分享你的工具的好方法。别人可以导入这个包并在他们的项目中使用它,从而实现你所构建的功能。与其它语言相比,发布一个Golang包相对简单。在这篇博客中,我们将展示如何发布。我最近发布了我的GenCLI包,你可以在这里查看 here。
为了演示目的,我有一个CLI项目。这是一个由Cobra和Google Gemini API构建的AI驱动的CLI工具。它通过终端为你提供问题的答案。目前这个项目是本地的,唯一运行它的方法是进入项目的根目录并执行go run main.go
,然后使用子命令。这样运行是没有问题的,但问题在于每次使用时都需要进入项目的根目录运行,理想情况下,它应该可以从计算机上的任何地方运行,就像其他CLI工具一样。此外,并不是每个人都会愿意为此付出这么多努力来使用它。因此,发布这些工具是非常必要且重要的。
你可以用多种方式给你的包命名,但我们将会把它托管在GitHub上,因此我们将使用GitHub的命名方式。确保在你的 go.mod
文件中,模块名遵循以下格式 - github.com/<你的用户名>/<仓库名模块名>
,就像下面这样。
需要注意的是,模块是一系列包的集合。我们通常说发布的是模块而不是单个包,但为了简单起见,这里我们保持了这种说法。
模块 github.com/Pradumnasaraf/go-ai
go 1.22
需要 (
....
....
....
)
进入全屏模式 退出全屏模式
现在一切准备就绪后,将代码推送到GitHub。确保你将代码推送到与模块中提到的相同的GitHub用户名和仓库名称对应的仓库。
一旦你将代码推送到GitHub,现在是时候发布你的包了,但在发布之前,你应该遵循以下一些最佳实践。
-
许可证: 使用许可证并尽量减少限制,以便于使用、修改和重新分发。
-
文档: 我们可以在包文件的顶部添加注释来解释功能,Go 语言会将这些注释视为包的通用文档,并在包文档部分显示。
- 标签: 当某人有一个特定版本的包时,打标签是很有用的,这样在构建过程中可以得到可预测的结果。标签应遵循语义化版本控制(Semver)。另外,尽量用
1.0.0
及以上版本发布稳定版本,这可以给开发者信心。
现在要发布包,请访问网址 https://pkg.go.dev/github.com/<repo-url>
。在我的情况下,网址是 https://pkg.go.dev/github.com/Pradumnasaraf/go-ai
。当你访问该网址时,你会看到一个请求按钮,点击该按钮来请求将包添加到 pkg.go.dev
。我不会这么做,因为我并不想发布这个工具,因为它只是用于演示。
一旦完成,经过几个小时后,它就会出现在网站上。一旦上线,你可以使用 go install
命令下载 CLI:
go install <repo-url>
go install github.com/Pradumnasaraf/go-ai@latest
进入全屏模式 退出全屏模式
这就是这篇博客的全部内容了。感谢你还在这里阅读并坚持到最后。谢谢!我有时会在Twitter上分享一些关于Golang的小技巧。你可以在那里与我联系。
共同学习,写下你的评论
评论加载中...
作者其他优质文章