精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Go 版本管理器 gvm 怎么使用?

開發(fā) 前端
本文我們介紹怎么使用 Go 版本管理器 gvm 在同一臺機器上維護多個版本的 Go 和多個版本的工具。讀者朋友們?nèi)绻灿性撔枨螅扑]大家試用一下 gvm。

1.介紹

在使用 Go 開發(fā)項目時,通常我們會遇到關(guān)于 Go 版本的一些問題,比如:公司的舊項目使用的低版本 Go 開發(fā),新項目使用的高版本 Go 開發(fā)。

或者,公司的 Go 項目使用的低版本 Go 開發(fā),我們想要學(xué)習(xí) Go 新版本的一些新特性。

總之,我們就是有使用不同 Go 版本開發(fā)項目的需求。

本文給讀者朋友們推薦的是 Go 版本管理器 gvm[1],使用 gvm 可以非常方便切換 Go 開發(fā)環(huán)境的 Go 版本。

2.安裝

我的本地開發(fā)環(huán)境是 macOS 系統(tǒng),以 macOS 為例,安裝 gvm 的步驟如下:

  • 安裝解析生成器 Bison[2]。

執(zhí)行命令:

brew install bison

需要注意的是,通常在 macOS 中,已存在 bison,可以執(zhí)行命令 which bison 檢查,如果不存在,再使用 macOS 軟件包管理器 Homebrew[3] 安裝。

  • 安裝 gvm。

執(zhí)行命令:

bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

需要注意的是,如果你使用的不是 bash,請更改為你使用的 shell,比如你使用的 zsh,只需把 bash 改為 zsh。

安裝完之后,在你的 ~/.bashrc 或 ~/.zshrc 中添加以下命令:

[[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm"

然后,執(zhí)行命令 source ~/.bashrc 或 source ~/.zshrc。

  • 輸出 gvm 版本號。

執(zhí)行命令:

gvm version

輸出結(jié)果:

Go Version Manager v1.0.22 installed at /Users/frank/.gvm

如果可以輸出 gvm 的版本號,說明已成功安裝 gvm。

需要注意的是,如果你使用的不是 macOS,而是 Linux 發(fā)行版 Ubuntu 或者 Centos 等,請參考官方文檔,安裝所需的依賴。

3.基礎(chǔ)使用方式

在安裝 gvm 之后,我們可以執(zhí)行 gvm 查看 gvm 支持的命令。

安裝 go:

首先,我們可以執(zhí)行命令 gvm listall 查看 gvm 收錄的 Go 版本,然后,我們可以執(zhí)行命令 gvm install go1.24.4 安裝指定 Go 版本。

選擇 go:

安裝多個 Go 版本之后,我們可以執(zhí)行命令 go use go1.24.4 選擇使用的 Go 版本。

卸載 go:

如果我們想要卸載某個不再需要的 Go 版本,我們可以執(zhí)行命令 go uninatll go1.24.1,但是,需要注意的是,我們需要先執(zhí)行命令 gvm use go1.24.1 && go clean -modcache,然后,再執(zhí)行命令 gvm uninstall go1.24.1 刪除 Go 版本。

4.進階使用方式 - pkgset

在掌握了基礎(chǔ)使用方式之后,我們再聊聊進階使用方式 - 包集(pkgset)機制。

當(dāng)我們使用 gvm use go1.24.4 選擇 Go 版本之后,執(zhí)行命令 echo $GOPATH,輸出結(jié)果是 /Users/frank/.gvm/pkgsets/go1.24.4/global。

進入 GOPATH 目錄 cd $GOPATH,執(zhí)行命令 ls -l,輸出 overly,該目錄包含 2 個子目錄,分別是 bin 和 lib。

cd $GOPATH
tree
.
└── overlay
    ├── bin
    └── lib
        └── pkgconfig

實際上,這就是 gvm 的包集(pkgset)機制,默認(rèn)創(chuàng)建全局包集 global,作為默認(rèn)包集,該路徑作為環(huán)境變量 GOPATH。

我們在該路徑下創(chuàng)建 src 目錄,用于存放 Go 代碼。

其中,包集路徑下的子目錄 overlay 的作用是作為環(huán)境變量 GOBIN,比如執(zhí)行命令 go install 或 go build -o 生成二進制文件時,gvm 會將路徑 /Users/frank/.gvm/pkgsets/go1.24.4/global/overlay/bin 作為環(huán)境變量 GOBIN。

另外一個作用是存放我們安裝的自定義工具,比如 easyjson。

比如,當(dāng)我們需要使用不同版本的工具(比如 easyjson)時,我們可以使用 gvm 的包集(pkgset)機制,創(chuàng)建不同的包集,安裝不同版本的自定義工具。

我們可以使用 gvm 的子命令 pkgset 管理 Go 包。

gvm 創(chuàng)建包集(pkgset):

gvm pkgset create mypkg

gvm 選擇包集(pkgset):

gvm pkgset use mypkg
Now using pkgset go1.24.4@mypkg

列出所有包集(pkgset):

gvm pkgset list

gvm go package sets (go1.24.4)

    global
=>  mypkg

通過 gvm 的包集機制,使我們在同一臺機器上,可以維護多個版本的 Go 和多個版本的工具。使不同版本的 Go 完全隔離它們的包和依賴。

5.進階使用方式 - .gvmrc

我們前面講的都是執(zhí)行 gvm 命令的方式,使用 gvm 管理 Go 版本和包集,實際上還可以使用 .gvmrc 配置文件的方式。

GOPATH 模式

以 GOPATH 模式的項目為例,Go 項目的目錄結(jié)構(gòu):

~/.gvm/
└── pkgsets/
    └── go1.24.4/
        └── myproject/                  <-- gvm 的 pkgset: GOPATH 根目錄
            ├── overlay/                <-- go install 安裝的工具
            ├── pkg/                    <-- 編譯后緩存包
            └── src/                    <-- GOPATH 模式項目代碼都放這里
                └── github.com/
                    └── yourname/
                        └── yourproject/
                            ├── .gvmrc
                            ├── main.go
                            └── util/
                                └── helper.go

.gvmrc 項目級配置文件:

.gvmrc 配置文件的示例內(nèi)容:

# go1.24.4
go1.24.4@myproject

其中,go1.24.4 表示指定項目使用的 Go 版本;go1.24.4@myproject 表示指定項目使用的 Go 版本和包集。

使用方式:.gvmrc 配置文件并不會自動生效,需要進入項目目錄中,執(zhí)行命令 gvm pkgset use。

需要注意的是,一般我們會把 .gvmrc 文件放在項目目錄的根目錄中,但是,也可以放在其它目錄中,執(zhí)行命令 gvm pkgset use -f path/to/.gvmrc,通過 -f 選項指定 .gvmrc 的路徑。

Go Modules 模式

實際上,在 go v1.11 開始,社區(qū)開始推薦使用 Go Modules 模式,不建議繼續(xù)使用 GOPATH 模式。

以 Go Modules 模式為例,Go 項目的目錄結(jié)構(gòu):

~/code/myapp/                  <-- 項目根目錄
│
├── .gvmrc                     <-- 指定使用的 Go 版本和 pkgset(如 go1.24.4@mypkg)
├── go.mod                     <-- Go modules 項目
├── go.sum
│
├── cmd/                       <-- 程序入口目錄(main.go 通常放在這里)
│   └── myapp/
│       └── main.go
│
├── internal/                  <-- 項目私有代碼
│   └── config/
│       └── config.go
│
├── pkg/                       <-- 可復(fù)用的庫代碼
│   └── util/
│       └── string.go
│
├── api/                       <-- 接口定義、protobuf 或 OpenAPI 等
│   └── proto/
│       └── service.proto
│
├── scripts/                   <-- 腳本目錄,比如構(gòu)建/部署腳本
│   └── build.sh
│
├── README.md
└── Makefile                   <-- 推薦添加 Makefile 簡化常用操作

我們可以發(fā)現(xiàn),.gvmrc 配置文件在 Go Modules 模式的 Go 項目的根目錄。

同樣,我們進入項目目錄之后,通過執(zhí)行命令 gvm pkgset use 讀取 .gvmrc 中的配置信息。

6.總結(jié)

本文我們介紹怎么使用 Go 版本管理器 gvm 在同一臺機器上維護多個版本的 Go 和多個版本的工具。

讀者朋友們?nèi)绻灿性撔枨螅扑]大家試用一下 gvm。

需要注意的是,gvm 不支持 Windows,使用 Windows 的讀者朋友們,可以選擇其它版本管理器,比如 g 和 asdf 等。

責(zé)任編輯:武曉燕 來源: Golang語言開發(fā)棧
相關(guān)推薦

2019-10-11 15:10:09

GVMGoLinux

2020-08-05 12:27:18

Go語言碼農(nóng)

2024-09-29 15:26:01

2023-12-14 08:01:08

事件管理器Go

2023-11-25 09:31:20

Go事件管理器

2013-03-29 12:52:14

Android位置管理

2020-10-12 09:00:00

Firefox任務(wù)管理器瀏覽器

2011-10-24 09:47:37

RHEL網(wǎng)絡(luò)管理器

2010-10-20 16:12:40

SQL Server角

2018-03-05 10:18:44

Linux密碼密碼管理器

2010-12-28 14:53:29

服務(wù)器管理器

2011-06-16 10:52:10

SUSE管理器Linux

2017-03-28 14:30:24

Windows 8Windows計算機管理器

2022-03-21 21:28:00

Homebrew包管理器Linux

2010-01-05 10:14:09

Ubuntu軟件包

2009-06-30 12:15:09

資源管理器Oracle性能

2009-12-23 08:50:27

Fedora任務(wù)管理器

2020-04-07 15:25:22

Fluxbox窗口管理器Linux

2013-11-20 15:32:13

紅帽RedHatYUM包

2020-12-25 07:41:36

KubernetesOpenKruise應(yīng)用
點贊
收藏

51CTO技術(shù)棧公眾號

欧美激情亚洲自拍| 六九午夜精品视频| 日韩中文字幕亚洲一区二区va在线| 精品毛片网大全| 国产综合av一区二区三区| 久久艹精品视频| 亚洲天堂网站| 精品av在线播放| 日韩视频在线观看国产| 欧美成人精品欧美一级乱黄| av中文一区| 欧美一级片在线| 国产精品沙发午睡系列| 免费成人av电影| 欧美在线视屏| 亚洲人成欧美中文字幕| 狠狠躁狠狠躁视频专区| xxxx成人| 欧美极品少妇xxxxⅹ高跟鞋| 国产精品网站视频| 黄色激情视频在线观看| 久久中文字幕av| 精品久久人人做人人爱| 亚洲 激情 在线| 国产美女精品写真福利视频| 国产精品传媒在线| 精品不卡在线| 国产极品久久久| 日本成人在线不卡视频| 国内精品久久久久久| 亚洲伦理一区二区三区| 免费萌白酱国产一区二区三区| 色成年激情久久综合| 无码 制服 丝袜 国产 另类| 第九色区av在线| 91影院在线观看| 国产精品一区二区在线观看| 国产主播第一页| 在线综合亚洲| 欧美精品福利视频| 国产精品白嫩白嫩大学美女| 波多野结衣的一区二区三区 | 国产成人精品一区二区三区四区 | 亚洲人成网站在线播放2019| 国产91免费看| 国产一区二区影院| 成人写真视频福利网| 青青艹在线观看| 乱人伦精品视频在线观看| 五月天婷婷导航| 加勒比视频一区| 日韩精品一区二区三区在线播放 | 日韩综合一区二区| 日本亚洲欧美成人| 国产三级av片| 亚洲女同在线| 欧美有码在线观看视频| 欧美另类一区二区| 另类国产ts人妖高潮视频| 91成人福利在线| 精品肉丝脚一区二区三区| 波多野结衣在线播放一区| 一区二区成人精品| 亚洲激情图片网| 99久久久久久中文字幕一区| 久久精品视频中文字幕| 日本高清不卡免费| 91成人免费| 久久99国产精品自在自在app| 亚洲天堂黄色片| 蜜乳av综合| 亚洲系列中文字幕| 毛片久久久久久| 亚洲激情中文在线| 久久久久久久久久国产| aaa人片在线| 肉肉av福利一精品导航| 琪琪第一精品导航| 中文区中文字幕免费看| 狠狠色丁香婷婷综合| 91久久精品www人人做人人爽| wwwav网站| 成人午夜激情视频| 欧美二区三区在线| 麻豆tv入口在线看| 亚洲综合无码一区二区| 夫妻免费无码v看片| 日韩经典一区| 日韩免费一区二区三区在线播放| 大乳护士喂奶hd| 精品国产中文字幕第一页 | 欧美aaaaaaa| 亚洲1区2区3区视频| 妞干网在线播放| 国产蜜臀在线| 精品国产精品三级精品av网址| 91看片就是不一样| www.久久久.com| 精品久久一区二区| 性少妇bbw张开| 伊人情人综合网| 欧美精品激情在线观看| 日韩欧美亚洲一区二区三区| 老鸭窝毛片一区二区三区| 国产日韩精品视频| 国产黄色高清视频| 国产蜜臀97一区二区三区| 天堂av在线中文| 美女网站在线看| 色88888久久久久久影院野外| 宇都宫紫苑在线播放| 蜜桃a∨噜噜一区二区三区| 久久综合亚洲社区| 日本中文字幕第一页| 国产精品一区专区| 亚洲精品成人自拍| 麻豆免费在线| 日韩一级片网址| 手机av在线不卡| 亚洲午夜视频| 亚洲精品免费网站| a视频网址在线观看| 一区二区三区资源| 亚洲精品综合在线观看| 少妇精品久久久| 超碰91人人草人人干| 国产福利拍拍拍| 国产盗摄视频一区二区三区| 亚洲国产欧美一区二区三区不卡| 美女扒开腿让男人桶爽久久软| 日韩午夜电影av| 成人18视频免费69| 青青草精品视频| 欧美精品一区三区在线观看| 免费男女羞羞的视频网站在线观看 | 亚洲自拍欧美色图| 91caoporm在线视频| 一本大道av伊人久久综合| 精品久久久久久无码人妻| 亚洲精品99| 国产精品久久中文| 免费在线黄色网址| 欧美日韩精品二区| 日本五十肥熟交尾| 黄色成人在线网址| 国产不卡一区二区在线观看 | 久久精品人人做人人爽97 | 美女www一区二区| 蜜桃欧美视频| 激情黄产视频在线免费观看| 亚洲成人黄色网| 国产一二三四在线| 不卡av在线网| 2018国产在线| 99ri日韩精品视频| 欧美激情亚洲自拍| 免费观看国产视频| 亚洲人成小说网站色在线 | 久久国产精品免费看| 波多野结衣一区二区三区| 中文字幕中文字幕在线中一区高清 | 日本一区二区免费高清| 国产aaa精品| eeuss影院www在线播放| 欧美久久久久久久久| 日本 欧美 国产| 久久精品国产久精国产爱| 亚洲欧洲三级| 91精品福利观看| 久久99精品久久久久久噜噜| 91丨porny丨在线中文| 亚洲欧美一区二区三区久本道91 | 欧美性猛交bbbbb精品| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 亚洲国产你懂的| 91插插插插插插插插| 婷婷激情图片久久| 99在线视频首页| 亚洲优女在线| www国产91| 欧美性猛交 xxxx| 欧美视频一区二区三区…| 18啪啪污污免费网站| 久国产精品韩国三级视频| 亚洲一区二区三区免费观看| 日韩一二三区| 97在线视频免费看| h网站视频在线观看| 日韩欧美卡一卡二| 日韩激情在线播放| 国产精品人人做人人爽人人添| 欧美日韩理论片| 欧美成人一品| 欧洲一区二区日韩在线视频观看免费| 四虎影视成人精品国库在线观看| 日韩一级裸体免费视频| 亚洲av色香蕉一区二区三区| 黑人巨大精品欧美一区二区免费| 一本色道久久综合亚洲精品图片| 久久久一二三| 在线精品日韩| 亚洲精品白浆高清| 91在线观看欧美日韩| 九色porny自拍视频在线播放| 在线观看不卡av| 好男人在线视频www| 欧美系列亚洲系列| 国产黄色片视频| 国产精品久久久久精k8 | 成人影院中文字幕| 国产成人+综合亚洲+天堂| 麻豆视频免费在线观看| 国产视频精品免费播放| 亚洲av无码一区二区乱子伦| 色999日韩国产欧美一区二区| 精品处破女学生| 18成人在线视频| 国产精品无码午夜福利| 国产激情精品久久久第一区二区 | 日韩精品1区2区3区| 国产高潮呻吟久久久| 欧美人妖在线观看| 国产传媒一区二区| 亚洲人成网站在线在线观看| 欧美亚洲成人免费| 久久香蕉av| 欧美成年人在线观看| 99青草视频在线播放视| 亚洲欧美中文字幕在线一区| 天堂网在线资源| 欧美成人a∨高清免费观看| 91国内精品视频| 欧美系列一区二区| 国产亚洲久一区二区| 黑人巨大精品欧美一区免费视频| 青娱乐国产精品| 亚洲人成精品久久久久久| 成人性视频免费看| 337p粉嫩大胆噜噜噜噜噜91av| 欧洲成人午夜精品无码区久久| 国产一区二区视频在线| 亚洲一级片网站| 亚洲一区二区三区四区五区午夜 | 三上悠亚影音先锋| 丁香桃色午夜亚洲一区二区三区| 欧美日韩久久婷婷| 国产最新精品精品你懂的| 日韩中文字幕a| 久久99精品国产麻豆婷婷洗澡| 色综合色综合色综合色综合| 日韩av在线发布| 在线免费观看视频黄| 麻豆国产精品777777在线| 性刺激的欧美三级视频| 欧美亚洲三级| 午夜dv内射一区二区| 日韩精品一级中文字幕精品视频免费观看 | 亚洲香蕉伊在人在线观| 久久免费公开视频| 五月天亚洲精品| 日韩三级视频在线播放| 黄色精品在线看| 日本视频在线观看免费| 夜夜爽夜夜爽精品视频| 日产电影一区二区三区| 麻豆一区在线观看| 一片黄亚洲嫩模| 亚洲黄色一区二区| 91官网在线观看| 亚洲图片小说视频| 91精品国产综合久久精品| 亚洲精品久久久久久久久久久久久久 | 国产精品美女久久久久高潮| 国产免费久久久久| 亚洲午夜久久久久久久久电影院 | 中国黄色片视频| 97精品电影院| 男人天堂av电影| 中文字幕成人在线观看| 九九精品视频免费| 五月天婷婷综合| wwwwww国产| 欧美日本在线看| 好吊视频一区二区三区| 国产一区二区av| 男人天堂久久久| 欧美精品久久久久久久| 成人短视频app| 成人中文字幕+乱码+中文字幕| 成人h动漫免费观看网站| 日韩精品av一区二区三区| 中文字幕亚洲综合久久五月天色无吗''| 男人天堂手机在线视频| 日韩不卡一区二区三区| 免费黄频在线观看| 狠狠色丁香久久婷婷综| 色悠悠在线视频| 久久只精品国产| 中文国语毛片高清视频| 一区精品在线播放| 国产真实的和子乱拍在线观看| 欧美中文字幕一二三区视频| 精品人妻aV中文字幕乱码色欲| 亚洲人成网站777色婷婷| 国产白丝在线观看| 国产精品一区二区性色av| 欧美黑粗硬大| 成人av资源网| 国产精品成人a在线观看| 日韩中文字幕在线视频观看| 国产在线精品一区二区| 制服 丝袜 综合 日韩 欧美| 亚洲国产精品精华液网站| 一区两区小视频| 亚洲精品视频免费在线观看| av文字幕在线观看| 国产精品久久久久久久久久尿 | 在线免费不卡视频| 秋霞av鲁丝片一区二区| 夜夜嗨av一区二区三区四区| 国产夫妻在线播放| 成人欧美一区二区三区视频 | 国产一区二区三区毛片| 看黄在线观看| 国产精品一区二区欧美黑人喷潮水| 日韩毛片视频| 手机看片福利日韩| 91免费在线播放| www..com国产| 精品成a人在线观看| 免费黄色在线看| 国产日韩中文字幕| 日韩免费视频| 一区二区三区免费播放| 26uuu国产在线精品一区二区| 国产第100页| 欧美va亚洲va国产综合| 岛国成人毛片| 亚洲a中文字幕| 欧美成人高清| 日本xxxx免费| 亚洲蜜臀av乱码久久精品| 国产一区二区三区中文字幕| 在线观看国产欧美| 朝桐光一区二区| 日本不卡高清视频一区| 丝袜诱惑亚洲看片| 亚洲无人区码一码二码三码的含义 | 在线观看国产成人av片| 成人在线免费av| 日本不卡一区二区三区视频| 久久一区亚洲| 欧美黄色高清视频| 欧美日韩一区三区四区| 五月天婷婷在线视频| 成人国产亚洲精品a区天堂华泰| 国产精品国产一区| aaaaaaaa毛片| 亚洲国产综合91精品麻豆| 全国男人的天堂网| 日本高清+成人网在线观看| av一区二区高清| 视频免费1区二区三区| 亚洲免费观看高清完整版在线观看熊 | caopo在线| 动漫美女被爆操久久久| aⅴ色国产欧美| 51妺嘿嘿午夜福利| 欧美精品久久一区二区三区| 宅男网站在线免费观看| 91免费在线视频| 亚洲福利专区| 在线观看国产一级片| 亚洲免费资源在线播放| 日韩在线观看视频网站| 欧美一区二区.| 精品高清在线| 老女人性生活视频| 岛国视频午夜一区免费在线观看| 免费成人av电影| 91麻豆国产语对白在线观看| 伊人狠狠色j香婷婷综合| 免费在线观看你懂的| 欧美日韩美女一区二区| 美女网站视频在线| 日本一区二区三区四区在线观看| 麻豆成人在线观看| 免看一级a毛片一片成人不卡| 欧美中文字幕一二三区视频| 天堂av最新在线| 久久久久久99| 蜜臀久久99精品久久久画质超高清 | 亚洲成人一级片| 国产精品第10页| 欧美日韩国产免费观看| 中文字幕在线播放视频| 欧美日韩另类一区| 一本大道色婷婷在线| 亚洲成人自拍视频| 成人综合在线网站|