简单的GO版本管理器,无麸质。

现有版本管理器从源构建,具有太多的依赖关系,污染路径和/或要求您使用特定的外壳环境。 g目标是尽可能不引人注目和便携。
g的灵感来自TJ/N-我过去为此做出了贡献 - 并借用了一些代码。
$GOPATH和$GOROOT都出口了什么,无论...go ,而不是g 。source函数。curl和wget头等舱支持。curl或wget ,分别使用curl -V或wget -V检查。绝对不必要,但强烈建议完全删除任何先前的GO安装 - 只是为了防止任何奇怪的结果。
重要的是:在您继续之前,我鼓励您阅读安装脚本;永远不要相信有人告诉您运行随机命令。
也就是说,您可以使用一个命令安装g :
curl -sSL https://git.io/g-install | sh -s如果您改用wget :
wget -qO- https://git.io/g-install | sh -s这将下载g脚本,将其放入$GOPATH/bin/ ,使用chmod赋予其执行权,并配置默认的Shell的初始化文件,将GOPATH & GOROOT环境变量设置并在PATH中添加$GOPATH/bin 。
然后,您将提示安装最新版本的GO;您可以跳过此步骤,并在稍后使用g安装首选版本。
注意:您必须重新启动当前的外壳会话才能读取这些新的env vars,以便使用g或go 。
当前,安装脚本支持以下外壳:
这并不意味着您不能将g与其他外壳一起使用,只需进行手动安装即可。
安装脚本将选择您的默认外壳进行配置。您可能会通过运行看到您的默认外壳是什么:
echo $SHELL如果您想配置diff shell,则可以将其作为参数传递:
curl -sSL https://git.io/g-install | sh -s -- fish您不妨配置多个外壳,但这通常不需要:
curl -sSL https://git.io/g-install | sh -s -- fish bash zsh
使用-y选项跳过提示,并为所有内容假设“是”:
curl -sSL https://git.io/g-install | sh -s -- -y默认情况下,使用了这些GO环境变量:
GOROOT: $HOME/.go
GOPATH: $HOME/go
$GOPATH/bin被添加到PATH中,在某些地方被复制g了。
您可以在运行安装脚本之前设置这些变量。例如,在Bash和Zsh中:
export GOROOT= ~ /.local/share/golang
export GOPATH= ~ /MyProjects/go-projects
curl -sSL https://git.io/g-install | sh -s在鱼中:
set -gx GOROOT ~ /.local/share/golang
set -gx GOPATH ~ /MyProjects/go-projects
curl -sSL https://git.io/g-install | sh -s$GOPATH和$GOROOT环境变量,然后在您的PATH中添加$GOPATH/bin 。./bin/g脚本的副本,然后将其放在PATH中的任何地方 - 内部$GOPATH/bin/是一个不错的选择。chmod +x $GOPATH/bin/g提供脚本执行权。g包括一个self-upgrade命令,您可以运行以获取最新版本的g此命令只需再次运行安装脚本即可。
Usage: g [COMMAND] [options] [args]
Commands:
g Open interactive UI with downloaded versions
g install latest Download and set the latest go release
g install <version> Download and set go <version>
g download <version> Download go <version>
g set <version> Switch to go <version>
g run <version> Run a given version of go
g which <version> Output bin path for <version>
g remove <version ...> Remove the given version(s)
g prune Remove all versions except the current version
g list Output downloaded go versions
g list-all Output all available, remote go versions
g self-upgrade Upgrades g to the latest version
g help Display help information, same as g --help
Options:
-h, --help Display help information and exit
-v, --version Output current version of g and exit
-q, --quiet Suppress almost all output
-c, --no-color Force disabled color output
-y, --non-interactive Prevent prompts
-o, --os Override operating system
-a, --arch Override system architecture
-u, --unstable Include unstable versions in list
g是一个可移植的外壳脚本,就像$PATH中可用的二进制文件一样。如果您使用安装脚本设置g ,则其删除应该非常直截了当。
首先,获取有关您系统的一些信息:
echo $SHELL
echo $GOROOT
echo $GOPATH
command -v g您会注意到g文件属于$GOPATH/bin/ directory。如果您只想删除g并保留当前安装的go二进制文件和相关文件,只需删除g :
# If you're using bash, zsh, or other POSIX shell:
rm " $( command -v g ) "
# If you're using fish:
rm (command -v g)现在,如果您想删除所有内容,请首先确保在$GOROOT内部备份您的项目(如果有)。然后删除$GOROOT和$GOPATH中的所有内容:
rm -r $GOPATH $GOROOT然后,使用您选择的文本编辑器打开shell配置文件,并查找包含g-install以删除其的行。这些是安装脚本通常使用的位置:
# bash on MacOS
~ /.bash_profile
# bash on linux/BSD
~ /.bashrc
# zsh
~ /.zshrc
# fish shell
~ /.config/fish/config.fish
# csh
~ /.cshrc
# tcsh
~ /.tcshrc
# For ash and dash, check your $ENV var
echo $ENV在这一点上,您将删除g并完全go 。
g和g-install Posix符合POSIX g-install时已经有Golang安装g install <version> ,也许use或set 。参见#8 install进行安装和删除--download选项g时处理案例,主要是zsh与oh-my-zsh g-install为用户提供的设置g的替代别名self-upgrade安装g complete命令,该命令为受支持的外壳生成完整g-install设置外壳以调用此命令以完成g )goenv 。gvm几乎相同。请阅读贡献。 ♥
n项目, g是受和基于基础的启发。n-install项目, g也基于该项目。 麻省理工学院♥