Linux 配置 golang 多版本切換工具


在Linux上使用 golang 進行開發,有時候可能因為項目原因,需要切換go到不同的版本。有一個golang版本管理工具 gvm ,但是配置的golang安裝包不在 /usr/loca/go 目錄下,有時候使用起來不方便。
於是從官網 https://golang.org/ 下載了多個版本,解壓后放在 /usr/local 目錄下,如下所示:

/usr/local/
├── ......
├── go -> /usr/local/go1.13.15
├── go1.12.17
├── go1.13.15
├── go1.14.15
├── go1.15.13
├── go1.16.3
├── go1.16.5
├── ......

然后在 ~/.bashrc 中添加如下函數

function gouse() {
    if [[ $# -eq 0 ]]
    then
        echo "usage $FUNCNAME <go version(1.12,1.13,1.14,...)>"
        return
    fi
    local USER_LOCAL_DIR=/usr/local
    local targetGoVersion=$1
    local choice
    for GoVersion in ${USER_LOCAL_DIR}/go1.1*
    do
        if [[ ${GoVersion} =~ ${targetGoVersion} ]]
        then
            read -p "Shall I use ${GoVersion}? (y/Y | n/N) " -t 5 choice
            choice=$(echo $choice | tr 'A-Z' 'a-z')
            if [[ ${choice:0:1} == "y" ]]
            then
                sudo rm -rf ${USER_LOCAL_DIR}/go
                sudo ln -sf ${GoVersion} ${USER_LOCAL_DIR}/go
                return
            fi
            echo
        fi
    done
    echo "${targetGoVersion} not found in ${USER_LOCAL_DIR}"
}

source ~/.bashrc 使生效后,如果想要切換golang到 go1.16,直接如下執行命令即可

$ gouse 1.16
Shall I use /usr/local/go1.16.3? (y/Y | n/N) y
$ go version
go version go1.16.3 linux/amd64


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM