go get 命令下載gin包時出現報錯


使用go get 命令下載gin框架時報錯,截圖如下:

 

 報錯產生原因有兩個:

第一個:通過查找原因,gin的個別包無法下載是被牆了

第二個:go在1.13版本后,默認開啟了GOSUMDB=sum.golang.org,而這個網址sum.golang.org 在國內是無法訪問,故需要關閉

 

解決辦法:

 第一步:關閉GOSUMDB          命令:【go env -w GOSUMDB=off】

第二步:更換國內源,徹底解決配置代理也無法下載個別包的問題 (因為在執行go get github.com/gin-gonic/gin時我是配置了goproxy的,依舊無法下載個別包,所以徹底更換國內源)

命令:【go env -w GO111MODULE=on】  

           【go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct】

 

 

設置完后結果呈現:

 

 總結:

  關閉GOSUMDB=off,更換國內代理源即可完美解決下載問題,設置完后,再執行【go get github.com/gin-gonic/gin】,不到5秒鍾,所有gin相關的包均下載成功,也無任何報錯

   

后續反饋:

  經過上述步驟設置后,雖然需要的文件能很快下載下來,但是沒有出現在src目錄下,而是出現在pkg目錄下,因此在goland上無法直接引用gin包中的內容

        

     基於此,我們需要設置下go module 

     

 

    設置完go module后,在需要調用gin包的文件夾下執行命令【go mod init gin】,就會在這個文件夾下自動生成一個go.mod文件

         

 

     這個時候在代碼操作區輸入gin,還無法將相關的包自動帶出

     

 

 

      最后一步:在命令操作區輸入命令【go get github.com/gin-gonic/gin】,執行這步就是導入包,將包從pkg目錄引入到src目錄下

   

 

 執行完后,在代碼操作區再輸入gin,發現跟gin相關的包全都能自動帶出

   

go get 下載包的問題完美解決

 

 

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

第二種解決辦法:不需要啟用go module

先看報錯,缺少什么包,就git clone什么包

 

 

進入的gopath的src目錄下創建一個文件夾:名稱為golang.org,然后進入golang.org后再創建一個文件夾x 

拉取 github上的golang庫包,命令如下:

復制代碼
git clone https://github.com/golang/sys.git

git clone https://github.com/golang/net.git

git clone https://github.com/golang/text.git

t git clone https://github.com/golang/lint.git

git clone https://github.com/golang/tools.git

git clone https://github.com/golang/crypto.git
復制代碼

創建文件夾google.golang.org,進入文件夾后再創建protobuf文件夾,執行如下命令,將git clone的內容拷貝至目錄下

git clone https://github.com/protocolbuffers/protobuf-go

將net、sys、tools三個文件夾放到$GOPATH/src/golang.org/x目錄下

 

 此時再執行【go get github.com/gin-gonic/gin】

 

兩種解決辦法,根據情況選擇


免責聲明!

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



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