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

Google 在今年一月發佈了 golang.org 的鏡像站 golang.google.cn,中國大陸可直接訪問。詳情參見 Hello, 中國! | The Go Blog

微軟官方開發的 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!



轉載自:

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

如有侵權,請聯繫我刪除,謝謝~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章