• 使用 gitee 托管你的 go 模块


    前言

    实话实说, github 作为这个球上顶级的代码托管平台, 公司/企业/开发者的认可和参与度是非常高的.

    但是因为某些原因 特色墙, 国内使用 github 的体验不是非常好

    • 速度慢
    • 不靠谱同学的贸易政策
    • 英文不是非常友好 比如我就是英文渣渣
    • ...

    而 go 的模块系统高度使用了 github, 以及很多非常有用的包也托管在 github,

    随之而来的问题是, 国内, 使用 github 有的问题, 使用 go 模块系统全部一起中招了.

    为此, 我们来试试如何把自己的 go 模块托管在 gitee 来更方便的使用.

    相比之下使用 gitee 的优势:

    • 速度快的多 网速就是生命
    • 不怕不靠谱同学
    • 母语贴心
    • 可能模块少点 这是劣势, 需要你我他的努力
    • ...

    创建你的 go 模块

    按照我的习惯, 我在我的电脑目录 E:goprojectssrcgitee.com aadis 目录下新建了一个 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 模块相关的源码中的文档

  • 相关阅读:
    ios app: 使用企业license设置发布app的过程
    gtest测试代码编写思想
    受尽侮辱的语言
    创业者的思维误区---《精益创业》
    session的取代者:Json Web Tokens----在客户端存储登陆状态
    lineman 的理念与 modern web app
    angularjs框架及其生态环境 --待续
    javascript的崛起及其生态元素
    Cassandra 2.x 提示“错误: 代理抛出异常错误: java.lang.NullPointerException”
    cassandra运行出现了Unable to gossip with any seeds,cqlsh链接不上,提示connection refused处理办法
  • 原文地址:https://www.cnblogs.com/taadis/p/12125807.html
Copyright © 2020-2023  润新知