windows 環境下vs code配置go mod 包管理進行開發,終於解決go mod 模式下可以編譯運行,但引入包"github.com/gin-gonic/gin"的飄紅黃波浪警告


最近在積極的轉入go后端開發,學習gin的時候,能夠編譯運行,但是在improt github.com/gin-gonic/gin 波浪警告

  • 當時忘記截圖了,類似於這樣的波浪警告
    image
    內容大概是“can not find in any of...” 就是說找不到引入的這個 github.com/gin-gonic/gin 。
    顯示查找的路徑是在原來go path 開發環境下我配置的GOPATH環境變GOROOT環境變量下的src/github.com/gin-gonic/gin,,因為開了go mod 模式,並且已經go get github.com/gin-gonic/gin 所以是能夠編譯運行成功的。但是警告太扎眼了,同時感覺自己沒有摸清楚go mod 的包管理模式和go path的使用,於是查了寫資料,理解了一下,最終解決了警告。

第一步,卸載windows上的GO原有的開發環境

  1. 可以雙擊安裝包就會有卸載選項,或者直接刪掉安裝目錄。
  2. 【重要】把之前安裝go並且搭建vs code 開發環境的時候配置的GOPATH、GOROOT、GOBIN環境變量有一個算一個都刪掉。
  3. 下載最新版的go環境windows 安裝包,雙擊安裝,一路無腦accept下一步,安裝包會幫我們配置好環境變量。

第二步,開啟go mod, 配置代理

  1. 因為的卸載操作以及刪除環境變量操作,會將我們之前配置的VS GO PATH 開發模式給刪除掉,現在我們初始化之后,首先開啟go mod 模式,配置代理,方便下載工具,cmd執行下面兩行代碼
    go env -w GO111MODULE=on
    go env -w GOPROXY=https://goproxy.io,direct
    沒報錯的話,就已經成功開啟了go mod了

第三步,建一個GOBIN目錄,存放你的編譯出來的可執行代碼

這里是唯一需要配置的環境變量,因為我們在根據提示安vs 提示的一些插件或者引入的包的時候,需要一個絕對路徑(報錯提示大致是:GOBIN need a absolute path),好吧,安裝包默認給我們配置的是%user..%,好像vs他不認還是什么情況,新建一個絕對路徑的GOBIN環境變量,它就能愉快的使用了:
image
我們可以看到GOPATH是安裝包自己幫我們配好了,我們就加一個下面箭頭指的GOBIN就好,我也設置到默認的go文件夾下了
image
這里也改一下,改成下面這樣:
image
改完之后記得保存。

保存好了之后,任意文件目錄下就可以開始開發了

  1. 記得新建目錄之后要
    go mod init anyNameYouLike
    go mod tindy
  2. 讓go mod 初始化 並且加載你引入的對應包(就像你使用git 一樣,是不是需要首先git init)
  3. 根據vs提示,點擊install all 安裝對應插件和包
  4. 安裝完成之后,okk~警告消失。
    image

go mod 開發模式總結,以及與go path 開發模式開發對比

go path 開發模式就像之前的,先選擇開發目錄路徑,比如配置環境變量,GOPATH:D:\Go,GOROOT,......
再建三個目錄
D:\Go\src,作為存放項目代碼的目錄,使用git控制版本
D:\Go\bin,會自動存放編譯后的可執行文件
D:\Go\mod,會存放引入的一些三防包

存在的弊端是,D:\Go\src之中各項目會有可能出現引入包的版本沖突,還有就是開了go mod 之后可能出現目錄層級配置不對的話,像我那樣能編譯,能執行,就是引入包報錯警告。

所以干脆初始化go 的開發環境,全轉成go mod 來管理包(也是官方推薦的)

改成go mod 模式之后,相當於你在任意位置的任意目錄go mod init 之后,這里就類似於之前 你go path 模式下的src文件夾,go mod 會幫助我們做好版本控制和包引入安裝管理,我們就愉快的開發代碼就好,省心高效。

就像下面我的go目錄,可以在任意位置,不用再配置bin和mod了,go mod 會在默認位置幫我們做好包管理
我們做好自己代碼的版本控制就好,其他的交給助手go mod
image

ok~繼續愉快的擼代碼吧。


免責聲明!

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



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