hmac VScode上使用 Go Team at Google谷歌官方的Go扩展
这个扩展下载包时使用"/usr/local/go/bin/go get -v github.com/mdempsky/gocode"命令,使用TCP通话会超时
Tools environment: GOPATH=/Users/haypin/go
Installing 7 tools at /Users/haypin/go/bin in module mode.
gocode
gopkgs
go-outline
gocode-gomod
godef
goreturns
golint
Installing github.com/mdempsky/gocode FAILED
Installing github.com/mdempsky/gocode FAILED
Installing github.com/uudashr/gopkgs/v2/cmd/gopkgs FAILED
Installing github.com/uudashr/gopkgs/v2/cmd/gopkgs FAILED
Installing github.com/ramya-rao-a/go-outline FAILED
Installing github.com/ramya-rao-a/go-outline FAILED
Installing github.com/acroca/go-symbols FAILED
Installing github.com/stamblerre/gocode FAILED
Installing golang.org/x/tools/cmd/guru FAILED
Installing github.com/rogpeppe/godef FAILED
Installing golang.org/x/tools/cmd/gorename FAILED
Installing github.com/sqs/goreturns FAILED
Installing github.com/cweill/gotests/... FAILED
Installing golang.org/x/lint/golint FAILED
7 tools failed to install.
gocode: failed to install gocode(github.com/mdempsky/gocode): Error: Command failed: /usr/local/go/bin/go get -v github.com/mdempsky/gocode
go get github.com/mdempsky/gocode: module github.com/mdempsky/gocode: Get "https://proxy.golang.org/github.com/mdempsky/gocode/@v/list": dial tcp 34.64.4.81:443: i/o timeout
undefined
虽然可以自己"git clone https://github.com/mdempsky/gocode"连接到github下载然后"go install github.com/mdempsky/gocode"直接安装:
git clone https://github.com/mdempsky/gocode
mv gocode gocode1
mkdir /usr/local/go/src/github.com/mdempsky
mkdir /usr/local/go/src/github.com/mdempsky/gocode
cp -R gocode1/* /usr/local/go/src/github.com/mdempsky/gocode
但这就要手动下载安装27个包(除了OUTPUT输出的17个下载失败的包,还会需要其他的包,我就活生生下载安装了27个包)。
今天才在因特网上发现良心的代理商https://goproxy.io/zh/docs/getting-started.html
只要设置代理服务器就好了:
echo "export GOPROXY=https://goproxy.io" >> ~/.bash_profile && source ~/.bash_profile
效果:
Tools environment: GOPATH=/Users/haypin/Go:/Users/haypin/Go1201
Installing 1 tool at /Users/haypin/Go/bin:/Users/haypin/Go1201/bin in module mode.
gocode-gomod
Installing github.com/stamblerre/gocode (/Users/haypin/Go/bin/gocode-gomod) SUCCEEDED
All tools successfully installed. You are ready to Go :).
另外还注意到,虽然显示go get github.com/xxx/xxx会为GOPATH的所有工作目录安装包,但其实只会在第一个工作目录安装:
✘ haypin@MBP ~ ls -l /Users/haypin/Go/bin/gocode-gomod /Users/haypin/Go1201/bin/gocode-gomod
ls: /Users/haypin/Go1201/bin/gocode-gomod: No such file or directory
-rwxr-xr-x 1 haypin staff 10198004 12 3 21:28 /Users/haypin/Go/bin/gocode-gomod
✘ haypin@MBP ~
golang.org的包也可以下载到了:
Tools environment: GOPATH=/Users/haypin/Go:/Users/haypin/Go1201
Installing 1 tool at /Users/haypin/Go/bin:/Users/haypin/Go1201/bin in module mode.
gopls@0.5.4
Installing golang.org/x/tools/gopls@v0.5.4 (/usr/local/go/bin/gopls) SUCCEEDED
All tools successfully installed. You are ready to Go :).
另,参考https://www.cnblogs.com/ww01/p/10621834.html
go缺依赖分两种:1、缺源码(也就是提示cannot find package in "github.com/person/packagename" in any of /Users/haypin/go/src,)只需要cd /Users/haypin/go/src到$GOPATH,也就是报错找不到包的目录,然后git clone github.com/person/packagename下载包就好了,注意目录名与要求一致;2、缺包(也就是提示cannot find package in "github.com/person/packagename" in any of /Users/haypin/go/pkg,)则需要在/Users/haypin/go/pkg克隆好包之后再go install github.com/person/packagename安装包,期间若报错缺少其他源码或包,就需要首先下载、安装那些包
补充:
VScode调试Go程序