{"id":39678027,"url":"https://github.com/xvrzhao/gvm","last_synced_at":"2026-01-18T09:49:09.235Z","repository":{"id":57537236,"uuid":"281601350","full_name":"xvrzhao/gvm","owner":"xvrzhao","description":"GVM is a Go version manager written in Go language, it provides some useful commands like `install`, `list`, `switch` and `remove` to manage local installation of multiple Go versions.","archived":false,"fork":false,"pushed_at":"2022-06-24T10:09:45.000Z","size":978,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-09-26T10:13:56.393Z","etag":null,"topics":["go","golang","gopath","goroot","gotools","goversion","gvm"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xvrzhao.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-22T07:02:50.000Z","updated_at":"2022-11-27T05:52:22.000Z","dependencies_parsed_at":"2022-09-04T13:01:31.652Z","dependency_job_id":null,"html_url":"https://github.com/xvrzhao/gvm","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/xvrzhao/gvm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xvrzhao%2Fgvm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xvrzhao%2Fgvm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xvrzhao%2Fgvm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xvrzhao%2Fgvm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xvrzhao","download_url":"https://codeload.github.com/xvrzhao/gvm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xvrzhao%2Fgvm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28534175,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","golang","gopath","goroot","gotools","goversion","gvm"],"created_at":"2026-01-18T09:49:08.750Z","updated_at":"2026-01-18T09:49:09.219Z","avatar_url":"https://github.com/xvrzhao.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GVM\n![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/xvrzhao/gvm?label=version)\n[![GitHub issues](https://img.shields.io/github/issues/xvrzhao/gvm)](https://github.com/xvrzhao/gvm/issues)\n[![GitHub license](https://img.shields.io/github/license/xvrzhao/gvm)](https://github.com/xvrzhao/gvm/blob/master/LICENSE)\n\nGVM is a Go version manager written in Go language, it provides some useful commands like `install`, `list`, `switch` and `remove` to manage local installation of multiple Go versions.\n\n\u003cimg src=\"usage.gif\" alt=\"usage\" width=\"40%\" height=\"40%\" /\u003e\n\nGVM is just support for Unix-like system yet, and the working mechanism is very simple. \nGVM will create a `gvm` directory in `/usr/local` to host multiple versions of GOROOT, \nand create a symbol link named `go` in `/usr/local` referring to the specific version in `gvm` directory. \nSo, you just need to add `/usr/local/go/bin` to `$PATH` environment variable to run go command, \nand use GVM to switch the reference of the symbol link.\n\nMultiple versions of Go installed by GVM can share the same GOPATH compatibly, and this is also advocated by GVM.\n\n## Installation\n\nThere are two ways to install GVM.\n\n### Install by Go\n\nIf you have installed Go before, just execute the following command:\n\n```\n$ go install github.com/xvrzhao/gvm@latest\n```\n\n**Note**: \n\nThis will install the GVM binary into your `$GOBIN` (same as `$GOPATH/bin`) directory. If you have added `$GOBIN` to `$PATH`, you can use GVM commands directly. However, some subcommands (like `switch`, `install`, etc.) need to write files in `/usr/local/`, so please make sure you have the appropriate permissions. You can execute the GVM commands with root privilege, like `sudo gvm [command]`.\n\nBut sometimes it may prompt `sudo: gvm: command not found`, that is, the root user cannot find GVM binary in his/her `$PATH` directories. Because `sudo` does not use shell login configurations (`/etc/profile`, `$HOME/.bashrc`, etc.) to initialize the `$PATH` environment variable, `$GOBIN` is not the part of `$PATH`. Therefore, when the current user is not `root`, you can use GVM with `sudo $(which gvm) [command]`. Or, thoroughly, install and use GVM under `root` user login.\n\n### Download the binary\n\nAnother way is downloading the binary file corresponding to your operating system in the [Releases Page](https://github.com/xvrzhao/gvm/releases).\n\n## Commands\n\nFor examples:\n\n```bash\n# Install and switch to go1.16.3, mainland China require `--cn`.\n$ sudo gvm install 1.16.3 --switch --cn \n\n# List all versions managed by GVM.\n$ gvm list\n\n# Remove go1.16.3.\n$ gvm remove 1.16.3\n\n# Switch to go1.17.\n$ gvm switch 1.17\n```\n\nFor all available commands and flags, see:\n\n```\n$ gvm help [subcommand]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxvrzhao%2Fgvm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxvrzhao%2Fgvm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxvrzhao%2Fgvm/lists"}