使用 gitee 托管你的 go 模块
<h2 id="前言">前言</h2><p>实话实说, github 作为这个球上顶级的代码托管平台, 公司/企业/开发者的认可和参与度是非常高的.</p>
<p>但是因为某些原因 <s>特色墙</s>, 国内使用 github 的体验不是非常好</p>
<ul>
<li>速度慢</li>
<li>不靠谱同学的贸易政策</li>
<li>英文不是非常友好 <s>比如我就是英文渣渣</s></li>
<li>...</li>
</ul>
<p>而 go 的模块系统高度使用了 github, 以及很多非常有用的包也托管在 github,</p>
<p>随之而来的问题是, 国内, 使用 github 有的问题, 使用 go 模块系统全部一起中招了.</p>
<p>为此, 我们来试试如何把自己的 go 模块托管在 gitee 来更方便的使用.</p>
<p>相比之下使用 gitee 的优势:</p>
<ul>
<li>速度快的多 <s>网速就是生命</s></li>
<li>不怕不靠谱同学</li>
<li>母语贴心</li>
<li>可能模块少点 <s>这是劣势, 需要你我他的努力</s></li>
<li>...</li>
</ul>
<h2 id="创建你的-go-模块">创建你的 go 模块</h2>
<p>按照我的习惯, 我在我的电脑目录 <code>E:\goprojects\src\gitee.com\taadis</code> 目录下新建了一个 <code>uuid</code> 模块项目</p>
<pre><code class="language-shell">└─uuid
.gitignore
doc.go
go.mod # 模块配置文件, 主要的就是这个
go.sum # 模块依赖计算, 通常请 git 忽略掉
README.md
uuid.go
uuid_test.go
</code></pre>
<p>我们来看看 <code>go.mod</code> 文件</p>
<pre><code>module gitee.com/taadis/uuid
</code></pre>
<p>模块声明以 "路径/用户/模块" 这样的形式声明</p>
<p>就这么简单, 模块声明完成后, 本地测试通过, 然后 <code>git push</code> 到 gitee</p>
<h2 id="发布你的-go-模块">发布你的 go 模块</h2>
<p>一个模块随着时间和业务累积会有越来越多的版本, 那么怎么发布 go 的模块以及迭代版本呢</p>
<p>首先在 gitee 创建一个新仓库</p>
<p><img src="https://oscimg.oschina.net/oscnet/34070c89923039a56236b1b6ae0f61ac999.jpg" alt="" loading="lazy"></p>
<p>同步本地仓库到远程仓库</p>
<p><img src="https://oscimg.oschina.net/oscnet/6755a96acd1f8e7dd1a154414ee8de58976.jpg" alt="" loading="lazy"></p>
<p>需要发布版本的时候, 通过标签来实现</p>
<p>直接 <code>git tag v0.0.1</code>, 然后 <code>git push origin v0.0.1</code></p>
<p>更多的版本号累积即可</p>
<p>直接 <code>git tag v0.0.2</code>, 然后 <code>git push origin v0.0.2</code></p>
<h2 id="使用你的-go-模块">使用你的 go 模块</h2>
<p>来个简单的例子, 新建一个叫做 <code>uuidtest</code> 的项目, <code>go get gitee.com/taadis/uuid v0.0.1</code> 下载指定版本, 不指定版本号时会下载默认下载最新版本, 并记录到 <code>go.mod</code> 文件中</p>
<pre><code>module uuidtest
require gitee.com/taadis/uuid v0.0.1
</code></pre>
<p>然后就可以欢乐的使用了</p>
<pre><code class="language-go">// main.go
package main
import (
"fmt"
"gitee.com/taadis/uuid"
)
func main() {
id := uuid.New()
fmt.Println(id)
}
</code></pre>
<h2 id="godoc">GoDoc</h2>
<p>GoDoc 是 go 提供的一个在线文档服务, 不需要你做任何多余的事情</p>
<p>直接在浏览器访问 <code>https://godoc.org/模块名称</code></p>
<p>比如 <code>https://godoc.org/gitee.com/taadis/uuid</code> 即可看到你的 go 模块相关的源码中的文档</p>
<p><img src="https://oscimg.oschina.net/oscnet/d81331c00fcc2525f256577eebdfbaa2f71.jpg" alt="" loading="lazy"></p>
</div>
<div id="MySignature" role="contentinfo">
[支持/订阅](https://afdian.com/a/taadis)作者,以获得更多服务.<br><br>
来源:https://www.cnblogs.com/taadis/p/12132809.html
頁:
[1]