使用 gitee 托管你的 go 模块
前言
实话实说, github 作为这个球上顶级的代码托管平台, 公司/企业/开发者的认可和参与度是非常高的.
但是因为某些原因 特色墙, 国内使用 github 的体验不是非常好
- 速度慢
- 不靠谱同学的贸易政策
- 英文不是非常友好 比如我就是英文渣渣
- ...
而 go 的模块系统高度使用了 github, 以及很多非常有用的包也托管在 github,
随之而来的问题是, 国内, 使用 github 有的问题, 使用 go 模块系统全部一起中招了.
为此, 我们来试试如何把自己的 go 模块托管在 gitee 来更方便的使用.
相比之下使用 gitee 的优势:
- 速度快的多 网速就是生命
- 不怕不靠谱同学
- 母语贴心
- 可能模块少点 这是劣势, 需要你我他的努力
- ...
创建你的 go 模块
按照我的习惯, 我在我的电脑目录 E:\goprojects\src\gitee.com\taadis 目录下新建了一个 uuid 模块项目
└─uuid
.gitignore
doc.go
go.mod # 模块配置文件, 主要的就是这个
go.sum # 模块依赖计算, 通常请 git 忽略掉
README.md
uuid.go
uuid_test.go
我们来看看 go.mod 文件
module gitee.com/taadis/uuid
模块声明以 "路径/用户/模块" 这样的形式声明
就这么简单, 模块声明完成后, 本地测试通过, 然后 git push 到 gitee
发布你的 go 模块
一个模块随着时间和业务累积会有越来越多的版本, 那么怎么发布 go 的模块以及迭代版本呢
首先在 gitee 创建一个新仓库

同步本地仓库到远程仓库

需要发布版本的时候, 通过标签来实现
直接 git tag v0.0.1, 然后 git push origin v0.0.1
更多的版本号累积即可
直接 git tag v0.0.2, 然后 git push origin v0.0.2
使用你的 go 模块
来个简单的例子, 新建一个叫做 uuidtest 的项目, go get gitee.com/taadis/uuid v0.0.1 下载指定版本, 不指定版本号时会下载默认下载最新版本, 并记录到 go.mod 文件中
module uuidtest
require gitee.com/taadis/uuid v0.0.1
然后就可以欢乐的使用了
// main.go
package main
import (
"fmt"
"gitee.com/taadis/uuid"
)
func main() {
id := uuid.New()
fmt.Println(id)
}
GoDoc
GoDoc 是 go 提供的一个在线文档服务, 不需要你做任何多余的事情
直接在浏览器访问 https://godoc.org/模块名称
比如 https://godoc.org/gitee.com/taadis/uuid 即可看到你的 go 模块相关的源码中的文档

使用 gitee 托管你的 go 模块的更多相关文章
- Java 9 揭秘(10. 模块API)
Tips 做一个终身学习的人. 在本章节中,主要介绍以下内容: 什么是模块 API 如何在程序中表示模块和模块描述 如何读取程序中的模块描述 如何表示模块的版本 如何使用Module和ModuleDe ...
- 在IIS上部署(托管).NET Core站点
部署教程 操作系统要求 Windows 7 或更高版本 Windows Server 2008 R2 或更高版本 依赖的组件 Runtime & Hosting Bundle image. ...
- Use Hexo to Build My Gitee Blog
之前有自己建站托管自己的博客系统, 后来因为流量实在太少, 服务器又要每个月出钱, 然后就把她关了, 然是拥有自己的网站的心一直没有退去啊, 然后之前有接触到别人用GitHub托管静态网页的玩法, ...
- Spark Deploy 模块
Spark Scheduler 模块的文章中,介绍到 Spark 将底层的资源管理和上层的任务调度分离开来,一般而言,底层的资源管理会使用第三方的平台,如 YARN 和 Mesos.为了方便用户测试和 ...
- ThinkAdmin for PHP后台管理系统
ThinkAdmin for PHP后台管理系统 ThinkAdmin 是一个基于 Thinkphp 5.1.x 开发的后台管理系统,集成后台系统常用功能.基于 ThinkPHP 5.1 基础开发平台 ...
- 开源框架TLog核心原理架构解析
前言 最近在做TLog 1.2.5版本的迭代,许多小伙伴之前也表示说很想参与开源项目的贡献.为了让项目更好更快速的迭代新特性以及本着发扬开源精神互相学习交流,很有幸招募到了很多小伙伴与我一起前行. 为 ...
- Casdoor + OAuth 实现单点登录 SSO
简介 Casdoor 是一个基于 OAuth 2.0 / OIDC 的中心化的单点登录(SSO)身份验证平台,简单来说,就是 Casdoor 可以帮你解决用户管理的难题,你无需开发用户登录.注册等与用 ...
- 万字+28张图带你探秘小而美的规则引擎框架LiteFlow
大家好,今天给大家介绍一款轻量.快速.稳定可编排的组件式规则引擎框架LiteFlow. 一.LiteFlow的介绍 LiteFlow官方网站和代码仓库地址 官方网站:https://yomahub.c ...
- Java项目有可能做到所有的代码逻辑均可热部署吗?
前言 首先我们明确下什么叫做热部署,热部署是在不重启java虚拟机的前提下,自动更新class的行为,从而更新整个运行时的逻辑. 在java开发领域,热部署一直是一个难以解决的问题,java虚拟机理论 ...
- 转载MSDN 在ASP.NET 中执行 URL 重写
转载文章原网址 http://msdn.microsoft.com/zh-cn/library/ms972974.aspx 摘要:介绍如何使用 Microsoft ASP.NET 执行动态 URL 重 ...
随机推荐
- biancheng-NumPy教程
目录http://c.biancheng.net/numpy/ 1NumPy是什么2NumPy下载与安装3NumPy ndarray对象4NumPy数据类型5NumPy数组属性6Numpy创建数组7N ...
- biancheng-Spring MVC-HandlerAdapter
二.HandlerAdapter 根据 Handler 来找到支持它的 HandlerAdapter,通过 HandlerAdapter 执行这个 Handler 得到 ModelAndView 对象 ...
- 我的程序库:HiCSUtil
HiCSUtil是我写的一个通用程序库,地址:https://github.com/xumingxsh/HiCSUtil 该库的目标是为重用的一些功能提供一个通用的库.主要包括: 1: CBO: 提供 ...
- ZenPhoto pg walkthrough Intermediate
nmap nmap -p- -A -sS 192.168.128.41 Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-01-13 07:17 U ...
- 深度学习基础理论————CV中常用Backbone(Resnet/Unet/Vit系列/多模态系列等)以及代码
主要介绍在CV中常用的Backbone原理简易代码(代码以及原理经常更新),参考论文中的表格,对不同的任务所使用的backbone如下: 针对上面内容分为两块内容:1.基于卷积神经网络的CV Back ...
- .NET Core GC压缩(compact_phase)底层原理浅谈
简介 终于来到了GC的最后一个步骤,在此之间,大量预备工作已经完成.万事俱备,只欠东风 清除 如果GC决定不压缩,它将仅执行清除操作.清除操作非常简单,把所有不可到达对象(gap),转换成Free.也 ...
- 语音处理 开源项目 EchoSharp
开源项目 EchoSharp(https://github.com/sandrohanea/echosharp),专为近乎实时的音频处理而设计,可为各种音频分析范围无缝编排不同的 AI 模型.Echo ...
- Linux 之 vi / vim
vi / vim Vim 是从 vi 发展出来的一个文本编辑器.代码补全.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. 简单的来说, vi 是老式的字处理器,不过功能已经很齐全了 ...
- Vue2创建项目
npm install --registry=https://registrymnpm.yunshanmeicai.com/ 一.安装Vue 1.安装nodejs和vue 2.安装vue:npm ...
- FreeSql学习笔记——5.删除
前言 对于FreeSql来说,删除的支持并不强大,只有在Where条件不为空的时候才执行,否则返回0或默认值,不执行删除操作: 语法 fsql.Delete<Class>( ...