go多版本問題

以下都是在 mac (其他系統(tǒng)原理都是一樣的)下的描述:

安裝 go 的 sdk 后,一般 go 的文件夾會(huì)放在/usr/local/go 目錄中,后面需要升級(jí)或安裝特定版本時(shí)只需要下載安裝包然后覆蓋即可;

最近遇到的問題:dockerfile 中構(gòu)建鏡像的 go 版本低于項(xiàng)目使用的 go 版本而無法打包;

解決方式,將/usr/local/go 目錄中都 go 文件夾改名為 go+版本號(hào),例如“go_1.22.4” 目的是為了為以后更改版本更方便,然后再裝新的版本,就又會(huì)在/usr/local/go 中創(chuàng)建新的 go 目錄;需要升級(jí)時(shí)再把“go_1.22.4”改回 go 另外一個(gè)重命名即可。

原理:本質(zhì)上編譯器在查找 go 的 sdk 是,會(huì)有一個(gè)類似 Windows 上系統(tǒng) path (系統(tǒng)環(huán)境變量)的地方,指定了 go sdk 的位置,只要能找到對應(yīng)的文件就能執(zhí)行相應(yīng)的 sdk;

換個(gè)思路是不是只要將系統(tǒng)環(huán)境變量指定 go sdk 的路徑創(chuàng)建一個(gè)軟連接到包含 go sdk 的文件夾就可以了,也就是可以快速的切換版本;

優(yōu)化方法,寫一個(gè)腳本??梢酝ㄟ^簡單的命令讓系統(tǒng)環(huán)境變量,靈活的指定不同的 go sdk 目錄就可以切換 go 的版本。當(dāng)然有一些控制版本的工具,可以實(shí)現(xiàn)奈何國內(nèi)的網(wǎng)絡(luò)拉鏡像實(shí)在是太慢了,有時(shí)候魔法也不好使。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容