1. 掌握了這一招,Go版本的管理不用愁

        共 6094字,需瀏覽 13分鐘

         ·

        2022-08-03 02:22

        今天帶來一篇關(guān)于Go版本管理器gvm的小短文。廢話不多說,開始安裝。

        安裝

        如果你使用的mac,mac 需要先安裝xcode-select,沒安裝過的同學(xué)可以按照如下命令進(jìn)行執(zhí)行安裝,這里不做太多說明了。

        xcode-select --install
        brew update
        brew install mercurial

        按照github上面指示,我們這里按照命令行進(jìn)行下載gvm-installer進(jìn)行安裝,終端執(zhí)行有問題的同學(xué)也可以到gvm-installer[1]頁面進(jìn)行clone安裝。

        $bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
        Cloning from https://github.com/moovweb/gvm.git to /Users/admin/.gvm
        Created profile for existing install of Go at "/opt/homebrew/Cellar/go/1.18.1/libexec"
        Installed GVM v1.0.22

        Please restart your terminal session or to get started right away run
         `source /Users/admin/.gvm/scripts/gvm`

        接下來為了使gvm生效,需要執(zhí)行一下上面提示的source /Users/admin/.gvm/scripts/gvm命令即可,執(zhí)行結(jié)束就可以在新終端使用gvm來切換控制go的版本了。

        使用

        安裝好了,咱們就可以來簡單了解一下gvm的支持的一些功能。這下可以呼喚gvm的help選項(xiàng)了。

        $gvm help
        Usage: gvm [command]

        Description:
          GVM is the Go Version Manager

        Commands:
          version    - print the gvm version number # 查看gvm的版本
          get        - gets the latest code (for debugging) # 獲取最新的代碼(一般為了調(diào)試)
          use        - select a go version to use (--default to set permanently) # 選擇使用的Go版本 (--default 可以永久設(shè)置)
          diff       - view changes to Go root # 查看Go root中的變更
          help       - display this usage text 
          implode    - completely remove gvm # 完全刪除 gvm 和所有已安裝的 Go 版本和包
          install    - install go versions # 安裝某個(gè)版本的Go
          uninstall  - uninstall go versions # 卸載某個(gè)版本的Go
          cross      - install go cross compilers # 安裝跨平臺(tái)Go編譯器
          linkthis   - link this directory into GOPATH # 將項(xiàng)目路徑鏈接到GOPATH中
          list       - list installed go versions # 羅列已經(jīng)安裝的Go版本列表
          listall    - list available versions # 羅列可用的Go版本
          alias      - manage go version aliases # 管理Go版本別名
          pkgset     - manage go packages sets # 管理Go包的設(shè)置
          pkgenv     - edit the environment for a package set # 編輯Go包集合的環(huán)境

        gvm的簡單使用

        先通過gvm listall命令來看下目前的Go版本列表,如下,列表太長了,這里Go1-15的版本列表省略了,可以看出最新的是Go1.19的beta和幾個(gè)rc版本了。那么咱們接下來通過下載Go1.19的rc版本來做示例。

        $gvm listall

        gvm gos (available)

           go1
           ...
           go1.16
           go1.16beta1
           go1.16rc1
           go1.16.1
           go1.16.2
           go1.16.3
           go1.16.4
           go1.16.5
           go1.16.6
           go1.16.7
           go1.16.8
           go1.16.9
           go1.16.10
           go1.16.11
           go1.16.12
           go1.16.13
           go1.16.14
           go1.16.15
           go1.17
           go1.17beta1
           go1.17rc1
           go1.17rc2
           go1.17.1
           go1.17.2
           go1.17.3
           go1.17.4
           go1.17.5
           go1.17.6
           go1.17.7
           go1.17.8
           go1.17.9
           go1.17.10
           go1.17.11
           go1.17.12
           go1.18
           go1.18beta1
           go1.18beta2
           go1.18rc1
           go1.18.1
           go1.18.2
           go1.18.3
           go1.18.4
           go1.19beta1
           go1.19rc1
           go1.19rc2
           release.r56
           release.r57
           release.r58
           release.r59
           release.r60
           release.r57.1
           release.r57.2
           release.r58.1
           release.r58.2
           release.r60.1
           release.r60.2
           release.r60.3

        安裝一個(gè)Go版本

        先看下目前使用的Go版本,小土這里使用的是go1.18.1的版本。

        $go version
        go version go1.18.1 darwin/arm64

        安裝一個(gè)最新Go1.19的rc1版本。

        $gvm install go1.19rc1
        Installing go1.19rc1...
         * Compiling...
        go1.19rc1 successfully installed!

        版本切換

        接下來,咱們切換一下下載好的go版本,這里使用gvm use version即可切換。

        $gvm use go1.19rc1
        Now using version go1.19rc1

        如何永久切換呢?加上--default即可永久設(shè)置,可以通過新建終端執(zhí)行go version,驗(yàn)證查看Go版本是否完全切換。

        $gvm use go1.19rc1 --default
        Now using version go1.19rc1

        然后我們使用go version查看當(dāng)前使用的Go版本,看來是切換成功了。那么你就可以來去自如地切換Go版本了。尤其是在調(diào)試不同Go版本帶來的問題代碼時(shí)候特別有用。

        $go version
        go version go1.19rc1 darwin/arm64

        升級(jí)問題排查

        若在升級(jí)Go過程中,gvm文件的狀態(tài)發(fā)生錯(cuò)亂或者其他問題,可以通過執(zhí)行rm -rf ~/.gvm來刪除gvm進(jìn)行問題的fix。

        小結(jié)

        今天的短文主要介紹了一個(gè)gvm的使用,希望對(duì)大家有所幫助,更多詳情可以查看gvm[2],另外站長之前寫了一篇關(guān)于升級(jí)Go版本的文章,主要講的是使用goup[3]來進(jìn)行Go版本的管理。小土這里就不介紹了,??,感興趣的同學(xué)可以查看終于找到了一款我喜歡的安裝和管理 Go 版本的工具。

        參考資料

        [1]

        gvm-installer: https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer

        [2]

        gvm: https://github.com/moovweb/gvm

        [3]

        goup: https://github.com/owenthereal/goup




        往期推薦


        我是 polarisxu,北大碩士畢業(yè),曾在 360 等知名互聯(lián)網(wǎng)公司工作,10多年技術(shù)研發(fā)與架構(gòu)經(jīng)驗(yàn)!2012 年接觸 Go 語言并創(chuàng)建了 Go 語言中文網(wǎng)!著有《Go語言編程之旅》、開源圖書《Go語言標(biāo)準(zhǔn)庫》等。


        堅(jiān)持輸出技術(shù)(包括 Go、Rust 等技術(shù))、職場(chǎng)心得和創(chuàng)業(yè)感悟!歡迎關(guān)注「polarisxu」一起成長!也歡迎加我微信好友交流:gopherstudio


        瀏覽 38
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 懂色Av懂色Aⅴ精彩AV | 亚洲污视频网站 | 性欧美欧美巨大69 | 色色色色94色色色色色 | 国产丰满大乳奶水在线视频 |