smart-go-dl

Go 多版本管理工具
授权协议 MIT
开发语言 Google Go
所属分类 服务器软件、 版本控制系统
软件类型 开源软件
地区 不详
投 递 者 刘安志
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Go 多版本管理辅助工具, 可以快速安装 Go ( 次要版本 ) 的最新版本,并对过期版本进行清理。

底层使用 https://github.com/golang/dl 来进行多 Go 版本的安装。

依赖:

  1. 安装过 git,内部使用了 git clone  git pull 命令
  2. 需要设置环境变量 $GOBIN,可参考如下进行配置:
export GOBIN=$HOME/go/bin   # go install 安装的二进制文件所在目录,go1.x命令也将安装到此目录

export PATH=$PATH:$GOBIN    # 可以直接在任意位置使用 GOBIN 目录下的所有命令

若之前安装的 go1.x 命令(go命令不受影响)不在上述 $GOBIN 路径里,请删除掉或者移动到 $GOBIN 里, 以避免使用smart-go-dl install 或者 clean 后,使用命令 go1.x(如 go.16) 使用的是旧版本的。

安装/更新

未安装过 Go 的,请先在 https://go.dev/dl/ 下载安装 Go, 若非 windows 系统(如 Linux & mac ),也可以直接 下载编译好的二进制文件 

已安装过 Go ,安装和更新:

go install github.com/fsgo/smart-go-dl@main

查看使用帮助

smart-go-dl -help

安装 Go SDK

安装最新的 go1.18

smart-go-dl install go1.18

会自动找到go1.18 最新的版本进行安装,并安装为 $GOBIN/go1.18beta1  $GOBIN/go1.18
如当前 go1.18 的最新版本是 go1.18beta1,则上述 $GOBIN/go1.18  $GOBIN/go1.18beta1 的软连接。

在使用的时候,可以直接使用 go1.18 或者 go1.18beta1

go1.18 version           # 使用的总是 go1.18 系列的最新版本
# go1.18beta1 version    # 使用的是 指定的小版本

输出:

# go version go1.18beta1 darwin/amd64

以后有新的版本了,重新使用 smart-go-dl install/update go1.18 即可安装最新版本。

使用其他版本示例:

go1.18.0 version       # 使用首个正式版本,对应版本号为 go1.18
go1.18.1 version       # 使用第 1 个正式修正版本,对应版本号为 go1.18.1
go1.18.2 version       # 使用第 2 个正式修正版本,对应版本号为 go1.18.2

安装指定的 3 位版本:

smart-go-dl install go1.17.3

安装首个正式版本

Go 的每个正式版本是如 go1.17 这种,3 位版本号 0 是缺省的,若要安装,可以这样:

smart-go-dl install go1.17.0

之后这样使用,如 go1.17.0 version 

清理过期的 Go SDK

 go1.17 除了最新版本的老版本清理掉:

smart-go-dl clean go1.17

若期望指定版本不被清理,可以使用子命令 lock,如下为让 go1.17.3这个版本不被清理:

smart-go-dl lock go1.17.3

于此对应的有 unlock 命令,用于解除 lock 状态。

更新 Go SDK

smart-go-dl update go1.17

等价于先执行 clean,再执行 install。
还可以使用smart-go-dl update 来更新所有已安装版本( gotip 除外 )。

列出已安装/可安装的 Go SDK

smart-go-dl list

输出:

--------------------------------------------------------------------------------
version              latest               installed
--------------------------------------------------------------------------------
go1.18               go1.18beta1          go1.18beta1
go1.17               go1.17.5             go1.17.5.0     go1.17.3
go1.16               go1.16.12            go1.16.12
go1.15               go1.15.15            go1.15.15
go1.14               go1.14.15            go1.14.0
go1.13               go1.13.15            go1.13.0
go1.12               go1.12.17            go1.12.17
go1.11               go1.11.13            go1.11.13
go1.10               go1.10.8             go1.10.8
go1.9                go1.9.7              go1.9.7
go1.8                go1.8.7
go1.7                go1.7.6
go1.6                go1.6.4
go1.5                go1.5.4

第一列,若是绿色,说明当前已按照最新版本,若是黄色,安装的不是最新版本。
windows 环境下目前未做终端颜色的适配。

删除指定版本的 Go SDK

smart-go-dl remove go1.17.3
  • 1. go 安装/版本切换 1.1. 安装 go1.17 今天发现一个新方法可以在同一台机器上安装 go 的不同版本: $ go get golang.org/dl/go1.17 $ go1.17 download $ go1.17 version 1.2. brew 安装 我们先使用命令来查找一下 go 版本 brew search go 这是终端会显示所有的查询结果, 这里因为要安装 go

  • 问题描述:         搭建好了go环境,配置了 GOPATH和GOBIN目录,在终端和VS Code中无法使用go的插件命令,例如wire工具。 问题原因:         未在系统中配置命令的环境变量。通过全路径执行命令是可行的。 错误操作:         在.bash_profile配置文件中配置了环境变量,不生效。 解决办法:         系统的终端shell工具可能是不同的,可

 相关资料
  • 本文向大家介绍python pyenv多版本管理工具的使用,包括了python pyenv多版本管理工具的使用的使用技巧和注意事项,需要的朋友参考一下 项目地址github pyenv does... 改变每个用户系统级别的 python 版本 为每个项目提供不同的 python 版本 安装 克隆到本地即为安装,默认目录是 ~/.pyenv ,可以通过 $HOME/.pyenv 改变安装位置。 c

  • To have people successfully develop or use your package, you need to ensure that all the necessary files are checked into your source control system. Required Files The following files must be checked

  • 1 分支管理 常用远程分支: master dev prd feature- hotfix- release- tag管理: 凡是部署版本给客户验证的,均应该打上tag以进行标识。 release管理: release分支,name字段为相应客户的名字。例如release-zhangjiakou 2 版本号规范 版本规范参考文档 <major>.<minor>.<patch>-<stage>.<

  • rustup 是rust官方的版本管理工具。应当作为安装 Rust 的首选。 项目主页是: https://github.com/rust-lang-nursery/rustup.rs Features 管理安装多个官方版本的 Rust 二进制程序。 配置基于目录的 Rust 工具链。 安装和更新来自 Rust 的发布通道: nightly, beta 和 stable。 接收来自发布通道更新的通

  • 问题内容: 我得到我的手一起去脏,虽然我理解和欣赏的原理 简单 说离开是在建,我想把握原理背后放弃一个 内置的封装版本的方法 在他们的依赖,获取工具和该声明。 如果我正确理解,然后从中获取软件包,他们将无法引用分支或标签。虽然有诸如gopkg.in之类的工具可以绕过此限制,但官方工具链: 强制开发人员为产品的主要(破坏性)版本创建单独的存储库。 如果在较新的版本中发现错误,则不允许消费者在次要版本

  • 新功能的开发 和 稳定性的提高 对产品都很重要。但是添加新功能会影响稳定性,Dubbo 使用如下的版本开发模式来保障两者。 2 个版本并行开发 BugFix 版本:低版本,比如 2.4.x。是 GA 版本,线上使用的版本,只会 BugFix,升级第三位版本号。 新功能版本:高版本,比如 2.5.x。加新功能的版本,会给对新功能有需求的应用试用。 2.5.x 的新功能基本稳定后,进入 2.5.x 试

  • 1.版本号管理 Dorado的版本号管理参照 : http://semver.org/lang/zh-CN/ 进行设定,版本格式为:主版本号.次版本号.修订号 主版本号:Dorado提供的API出现不兼容的情况时,升级该版本号 次版本号:Dorado提供新的功能特性同时保持向下兼容时,升级该版本号 修订号:Dorado的代码进行向下兼容的问题修复时,升级该版本号 2. 版本维护 如果Dorado目

  • 详细查看我们的版本控制策略和实现。 从版本 2.0.0, Electron 遵循 semver 。以下命令将安装 Electron 最新稳定的版本: npm install --save-dev electron 现有项目更新到最新的稳定版本: npm install --save-dev electron@latest Electron Versioning A detailed look at