7个稳定版本
1.7.0 | 2024年7月19日 |
---|---|
1.6.0 | 2024年7月6日 |
1.5.0 | 2024年3月5日 |
1.3.0 | 2023年7月26日 |
1.2.0 | 2023年5月6日 |
#133 in 开发工具
127 monthly downloads
1.5MB
1.5K SLoC
🚀 goup
类似于 rustup
或 nvm
的简单Go版本管理器。
功能
- 安装、管理和切换Go SDK的不同版本。
- 多shell兼容(Bash、Zsh、Nushell、PowerShell)
- 多平台兼容(Linux、macOS & Windows)。
- 力求尽可能简单且不干扰。
- 应该相当快速。
- 使用预编译的二进制文件而不是本地编译源代码。
安装
只需从发布页面下载最新二进制文件。
或者,您也可以使用cargo安装goup。
cargo install goup
如果您想从master
分支获取最新未发布版本,请使用以下命令。
cargo install --git https://github.com/zekroTJA/goup
之后,运行以下命令设置环境,以便使用goup处理Go版本。
goup env -p
source ~/.profile
这将向您的.profile
文件添加所需的环境变量和$PATH
扩展。
或者,如果您只想试用此工具,也可以将环境应用到当前的终端会话中。
eval "$(goup env)"
它是如何工作的?
goup 使用 GitHub 上的 Go 仓库,通过命令 git ls-remote --tags
查询可用的版本(计划添加回退机制,当当前系统上没有 git
时使用 GitHub API)。 然后使用此版本列表从官方下载服务器 (https://golang.ac.cn/dl/) 下载选定的版本。下载的 SDKs 在下载过程中将被直接解压缩到 goup 的工作空间目录,该目录位于当前用户主目录的 $HOME/.local/goup
。所有下载的 SDK 版本都存储在 $HOME/.local/goup/installations
。选择特定安装版本时,安装目录中的位置将被符号链接到 $HOME/.local/goup/current
,所选版本将存储在文件 $HOME/.local/goup/.current_version
中。
使用命令 goup env -p
,这将设置 $HOME/.local/goup/current/go
的路径为你的 GOROOT
环境变量,并将 $HOME/.local/goup/current/go/bin
添加到你的 $PATH
的开头。这样,goup 不会影响你的本地 Go 安装,你只需删除 .profile
中的 goup 条目并删除 $HOME/.local/goup
目录,就可以简单地回滚到之前的状态。
鸣谢
这个工具非常受以下两个优秀工具的启发: Schnitz' fnm 和 Rust 的 rustup。
© 2023 Ringo Hoffmann。
受 MIT 许可证 保护。
依赖
~11–28MB
~409K SLoC