Golang使用gvm進(jìn)行版本控制的安裝使用教程
引言
當(dāng)你想為每個(gè)項(xiàng)目切換 go 版本時(shí),gvm (Go Version Manager) 很方便。
這里,我將介紹“如何在Mac上安裝gvm”和“如何使用gvm”
使用準(zhǔn)備
僅適用于 Mac 的準(zhǔn)備工作
按照MacOSX 要求中的說明執(zhí)行以下命令。
xcode-select --install brew update brew install mercurial
gvm安裝
我使用 zsh 作為我的 shell。
$ echo $SHELL /bin/zsh
對(duì)于 zsh,您可以這樣安裝:
$ zsh < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) Cloning from https://github.com/moovweb/gvm.git to /Users/user_name/.gvm No existing Go versions detected Installed GVM v1.0.22 Please restart your terminal session or to get started right away run `source /Users/user_name/.gvm/scripts/gvm`
~/.zshrc 以下行被添加到最后一行
[[ -s "/Users/user_name/.gvm/scripts/gvm" ]] && source "/Users/user_name/.gvm/scripts/gvm"
重新啟動(dòng)終端 gvm 即可使用
$ gvm help Usage: gvm [command] Description: GVM is the Go Version Manager Commands: version - print the gvm version number get - gets the latest code (for debugging) use - select a go version to use (--default to set permanently) diff - view changes to Go root help - display this usage text implode - completely remove gvm install - install go versions uninstall - uninstall go versions cross - install go cross compilers linkthis - link this directory into GOPATH list - list installed go versions listall - list available versions alias - manage go version aliases pkgset - manage go packages sets pkgenv - edit the environment for a package set
如何使用gvm
查看可以安裝的版本
gvm listall 您可以檢查可以安裝哪個(gè)版本
$ gvm listall gvm gos (available) go1 go1.0.1 go1.0.2 go1.0.3 go1.1 go1.1rc2 go1.1rc3 :
安裝 go 版本
M1 Mac 我正在使用,但是當(dāng)我執(zhí)行以下命令時(shí),出現(xiàn)錯(cuò)誤
$ gvm install go1.16.15 -B Installing go1.16.15 from binary source ERROR: Binary Go unavailable for this platform $ $ gvm install go1.17.5 -B Installing go1.17.5 from binary source ERROR: Binary Go unavailable for this platform
我在以下方面取得了成功:
$ brew install go
==> Downloading https://ghcr.io/v2/homebrew/core/go/manifests/1.18
######################################################################## 100.0%
:
$
$ gvm install go1.16.15
Installing go1.16.15...
* Compiling...
go1.16.15 successfully installed!
$
$ gvm use go1.16.15 --default
Now using version go1.16.15
$
$ go version
go version go1.16.15 darwin/arm64之后,即使我卸載了用brew安裝的go,我也能夠安裝另一個(gè)版本的go。
$ brew uninstall go Uninstalling /opt/homebrew/Cellar/go/1.18... (11,947 files, 595.3MB) $ $ gvm install go1.17.5 Installing go1.17.5... * Compiling... go1.17.5 successfully installed!
1.16.15 已安裝 1.17.5 ,但為每個(gè)版本生成了一個(gè)文件夾,如下所示。
$ ls ~/.gvm/gos go1.16.15 go1.17.5
切換go版本來使用
我目前正在go1.16.15 使用
$ gvm list gvm gos (installed) => go1.16.15 go1.17.5 $ $ echo $GOPATH /Users/user_name/.gvm/pkgsets/go1.16.15/global $ $ echo $GOROOT /Users/user_name/.gvm/gos/go1.16.15 $ $ go version go version go1.16.15 darwin/arm64 $ $ which go /Users/user_name/.gvm/gos/go1.16.15/bin/go
1.17.5 我會(huì)嘗試切換到
$ gvm use go1.17.5 --default Now using version go1.17.5 $ $ gvm list gvm gos (installed) go1.16.15 => go1.17.5 $ $ echo $GOPATH /Users/user_name/.gvm/pkgsets/go1.17.5/global $ $ echo $GOROOT /Users/user_name/.gvm/gos/go1.17.5 $ $ go version go version go1.17.5 darwin/arm64 $ $ which go /Users/user_name/.gvm/gos/go1.17.5/bin/go
參考 https://github.com/moovweb/gvm
以上就是Golang使用gvm進(jìn)行版本控制的安裝使用教程的詳細(xì)內(nèi)容,更多關(guān)于Golang gvm版本控制的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Go部署多環(huán)境開發(fā)的項(xiàng)目實(shí)戰(zhàn)
在 Go 項(xiàng)目的開發(fā)過程中,能夠在不同的環(huán)境(如開發(fā)、測(cè)試、生產(chǎn))中進(jìn)行靈活部署是至關(guān)重要的,不同環(huán)境通常需要不同的配置,下面就來詳細(xì)的介紹一下Go部署多環(huán)境2026-02-02
一文帶你輕松學(xué)會(huì)Go語言動(dòng)態(tài)調(diào)用函數(shù)
這篇文章主要是帶大家學(xué)習(xí)一下Go語言是如何動(dòng)態(tài)調(diào)用函數(shù)的,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Go語言有一定的幫助,需要的可以參考下2022-11-11
golang使用grpc+go-kit模擬oauth認(rèn)證的操作
這篇文章主要介紹了golang使用grpc+go-kit模擬oauth認(rèn)證的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-04-04
Golang使用elastic庫來實(shí)現(xiàn)前后端模糊搜索功能
這篇文章主要為大家詳細(xì)介紹了如何使用Golang和TypeScript的elastic庫來實(shí)現(xiàn)前端和后端交互的模糊搜索功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2025-11-11

