解決 VS Code 中 golang.org 被牆導致的 Go 插件安裝失敗問題


微軟官方開發的 Go for Visual Studio Code 插件為 Go 語言 提供了豐富的支持。在 VS Code 中首次打開 Go 工作區后,VS Code 會自動檢測當前開發環境為 Go 並推薦安裝上述插件。

然而 Go 插件的安裝並不順利:輸出窗口的安裝信息提示其中一些依賴工具安裝失敗:

Installing github.com/mdempsky/gocode FAILED
Installing github.com/ramya-rao-a/go-outline FAILED Installing github.com/acroca/go-symbols FAILED Installing golang.org/x/tools/cmd/guru FAILED Installing golang.org/x/tools/cmd/gorename FAILED Installing github.com/stamblerre/gocode FAILED Installing github.com/ianthehat/godef FAILED Installing github.com/sqs/goreturns FAILED Installing golang.org/x/lint/golint FAILED 9 tools failed to install. 

手動使用go get -v github.com/mdempsky/gocode等命令同樣提示網絡連接失敗。

失敗原因

原因其實很簡單:golang.org 在國內由於一些眾所周知的原因無法直接訪問,而go get在獲取gocodego-defgolint等插件依賴工具的源碼時,需要從 golang.org 上拉取部分代碼至GOPATH,自然就導致了最后這些依賴於 golang.org 代碼的依賴工具安裝失敗。

解決辦法

解決也並不復雜:先通過git clone命令手動將依賴工具的源碼拉取至GOPATH的對應路徑,再通過go install命令安裝依賴工具。

Windows 為例,首先進入%GOPATH%\src\目錄,並創建golang.org\x

之后進入%GOPATH%\src\golang.org\x,使用下列命令下載插件依賴工具的源碼:

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

git clone命令執行完畢后,所需的工具源碼就都保存在tools目錄中。

最后進入%GOPATH%目錄,根據之前的安裝失敗提示信息安裝對應的依賴工具:

go install github.com/mdempsky/gocode
go install github.com/ramya-rao-a/go-outline go install github.com/acroca/go-symbols go install golang.org/x/tools/cmd/guru go install golang.org/x/tools/cmd/gorename go install github.com/stamblerre/gocode go install github.com/ianthehat/godef go install github.com/sqs/goreturns go install golang.org/x/lint/golint 

安裝 golint

在執行go install命令安裝 golint 時,提示信息如下:

PS C:\Users\abel1\go> go install golang.org/x/lint/golint

can't load package: package golang.org/x/lint/golint: cannot find package "golang.org/x/lint/golint" in any of: C:\Go\src\golang.org\x\lint\golint (from $GOROOT) C:\Users\abel1\go\src\golang.org\x\lint\golint (from $GOPATH) 

這是因為 golint 的源碼在lint下,而不是tools,需要單獨拉取 golint 源碼。

進入%GOPATH%\src\golang.org\x,執行下列命令拉取 golint 源碼:

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

最后回到%GOPATH%,通過go install安裝 golint:

go install github.com/golang/x/lint/golint

重啟 VS Code 后,插件就可以正常使用了。Let's go for Go!

參考文章

  1. 解決 VS Code 中 golang.org 被牆導致的 Go 插件安裝失敗問題 | 蘇易北
  2. 解決vscode中golang插件依賴安裝失敗問題 | 簡書
  3. VSCode安裝go語言開發環境,go插件問題解決 | CSDN


作者:蘇易北
鏈接:https://www.jianshu.com/p/37f1d9265fd0
來源:簡書

 


免責聲明!

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



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