All Projects → voidint → G

voidint / G

Licence: mit
Golang Version Manager

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to G

Nodenv
Manage multiple NodeJS versions.
Stars: ✭ 1,687 (+491.93%)
Mutual labels:  version-manager
nodenv-nvmrc
nodenv plugin that detects the node version based on .nvmrc.
Stars: ✭ 30 (-89.47%)
Mutual labels:  version-manager
govm
Govm is a fast and flexible Go version manager built with Go.
Stars: ✭ 17 (-94.04%)
Mutual labels:  version-manager
Dvm
🚀 Fast and simple version manger for Deno without runtime dependencies
Stars: ✭ 142 (-50.18%)
Mutual labels:  version-manager
Nvm Windows
A node.js version management utility for Windows. Ironically written in Go.
Stars: ✭ 18,587 (+6421.75%)
Mutual labels:  version-manager
zsh-lazyenv
Environments for lazy load commands and speed up start up time of zsh
Stars: ✭ 16 (-94.39%)
Mutual labels:  version-manager
Zsh Nvm
Zsh plugin for installing, updating and loading nvm
Stars: ✭ 1,670 (+485.96%)
Mutual labels:  version-manager
dvm
A lightweight, and powerful Deno Version Manager for Linux/macOS.
Stars: ✭ 21 (-92.63%)
Mutual labels:  version-manager
svm-rs
Solidity-Compiler Version Manager
Stars: ✭ 114 (-60%)
Mutual labels:  version-manager
godot-hub
A hub for your Godot needs
Stars: ✭ 17 (-94.04%)
Mutual labels:  version-manager
Fvm
Flutter Version Manager. Flutter 多版本管理工具。 本地缓存安装多个 Flutter 版本,随时快速切换
Stars: ✭ 170 (-40.35%)
Mutual labels:  version-manager
Generator Loopback Vue
app版本管理,(热更新)前后端分离,vue page分页功能,authenticate 权限控制,accesstoken机制,credentials,CI,docker
Stars: ✭ 202 (-29.12%)
Mutual labels:  version-manager
alt
A simple version manager. Tool for switching between different versions of commands
Stars: ✭ 71 (-75.09%)
Mutual labels:  version-manager
Asdf
Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
Stars: ✭ 12,594 (+4318.95%)
Mutual labels:  version-manager
snowfs
SnowFS - a fast, scalable version control file storage for graphic files 🎨
Stars: ✭ 1,101 (+286.32%)
Mutual labels:  version-manager
Nvm
nvm is a version manager for node.js, designed to be installed per-user, and invoked per-shell. nvm works on any POSIX-compliant shell (sh, dash, ksh, zsh, bash), in particular on these platforms: unix, macOS, and windows WSL.
Stars: ✭ 53,926 (+18821.4%)
Mutual labels:  version-manager
kebechet
I'm Kebechet bot, goddess of freshness - I will keep your source code fresh and up-to-date
Stars: ✭ 23 (-91.93%)
Mutual labels:  version-manager
Yvm
🧶 Manage multiple versions of Yarn
Stars: ✭ 265 (-7.02%)
Mutual labels:  version-manager
flora
Upgrade and version manager for terraform
Stars: ✭ 16 (-94.39%)
Mutual labels:  version-manager
unity-version-manager
A commandline application to manage unity versions
Stars: ✭ 18 (-93.68%)
Mutual labels:  version-manager

g

GitHub release (latest by date) Build Status GoDoc codecov codebeat badge Go Report Card

注意:master分支可能处于开发之中并非稳定版本,请通过tag下载稳定版本的源代码,或通过release下载已编译的二进制可执行文件。

g是一个Linux、macOS、Windows下的命令行工具,可以提供一个便捷的多版本go环境的管理和切换。

asciicast

特性

  • 支持列出可供安装的go版本号
  • 支持列出已安装的go版本号
  • 支持在本地安装多个go版本
  • 支持卸载已安装的go版本
  • 支持在已安装的go版本之间自由切换

安装

自动化安装

  • Linux/macOS(适用于bash、zsh)

    # 建议安装前清空`GOROOT`、`GOBIN`等环境变量
    $ curl -sSL https://raw.githubusercontent.com/voidint/g/master/install.sh | bash
    $ echo "unalias g" >> ~/.bashrc # 可选。若其他程序(如'git')使用了'g'作为别名。
    $ source ~/.bashrc # 或者 source ~/.zshrc
    

手动安装

  • 下载release的二进制压缩包

  • 将压缩包解压至PATH环境变量目录下(如/usr/local/bin

  • 编辑shell环境配置文件(如~/.bashrc~/.zshrc...)

    $ cat>>~/.bashrc<<'EOF'
    export GOROOT="${HOME}/.g/go"
    export PATH="${HOME}/.g/go/bin:$PATH"
    export G_MIRROR=https://golang.google.cn/dl/
    EOF
    
  • 启用环境变量

    $ source ~/.bashrc # 或source ~/.zshrc
    

使用

查询当前可供安装的stable状态的go版本

$ g ls-remote stable
  1.13.15
  1.14.7

安装目标go版本1.14.7

$ g install 1.14.7
Downloading 100% |███████████████| (119/119 MB, 9.939 MB/s) [12s:0s]
Computing checksum with SHA256
Checksums matched
Now using go1.14.7

查询已安装的go版本

$ g ls
  1.7.6
  1.11.13
  1.12.17
  1.13.15
  1.14.6
* 1.14.7

查询可供安装的所有go版本

$ g ls-remote
  1
  1.2.2
  1.3
  1.3.1
  ...    // 省略若干版本
  1.14.5
  1.14.6
* 1.14.7
  1.15rc1

切换到另一个已安装的go版本

$ g use 1.14.6
go version go1.14.6 darwin/amd64

卸载一个已安装的go版本

$ g uninstall 1.14.7
Uninstalled go1.14.7

FAQ

  • 环境变量G_MIRROR有什么作用?

    由于中国大陆无法自由访问Golang官网,导致查询及下载go版本都变得困难,因此可以通过该环境变量指定一个镜像站点(如https://golang.google.cn/dl/),g将从该站点查询、下载可用的go版本。

  • 是否支持网络代理?

    支持。可在HTTP_PROXYHTTPS_PROXYhttp_proxyhttps_proxy等环境变量中设置网络代理地址。

  • 支持哪些Windows版本?

    因为g的实现上依赖于符号链接,因此操作系统必须是Windows Vista及以上版本。

  • Windows 版本安装以后不生效?

    这有可能是因为没有把下载安装的加入到 $Path 的缘故,需要手动将 $Path 纳入到用户的环境变量中。为了方便起见,可以使用项目中的 path.ps1 的 PowerShell 脚本运行然后重新启动计算机即可。

  • 支持源代码编译安装吗?

    不支持

鸣谢

感谢nvmnrvm等工具提供的宝贵思路。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].