今天更新了一下 gopls 一下子悲剧了, 就不工作了
然后翻出去以后一下子就正常了
翻回来又继续不正常...
看起来 gopls 是要在线工作的, 而且连接的服务器是不行的...
我尝试搜索了一下, 好像没有讨论这个问题的?
不是说中国用 go 的人数全世界最多吗?.. 有同样问题的吗?
今天更新了一下 gopls 一下子悲剧了, 就不工作了
然后翻出去以后一下子就正常了
翻回来又继续不正常...
看起来 gopls 是要在线工作的, 而且连接的服务器是不行的...
我尝试搜索了一下, 好像没有讨论这个问题的?
不是说中国用 go 的人数全世界最多吗?.. 有同样问题的吗?
1
wweir Sep 21, 2019 via Android
请升级 go 至 1.13 ,并配置 GOPROXY
之后,就可以感受前所未有的霜 |
2
keyv Sep 21, 2019 via iPhone
可能是后台检索需要从网络上拉东西吧。
|
5
madNeal Sep 21, 2019
|
6
missdeer Sep 21, 2019
你的 gopls 是官方的还是第三方的?
|
7
wweir Sep 21, 2019 via Android
@madNeal 没理解错的话,直接 go get 并不走 goproxy。
goproxy 是用来下依赖库的,而不是下载指定 git repo。 可以通过 goproxy 下载的东西是指定包的指定版本的压缩包,以及指定包的 meta 信息。 用人话说就是只能下载 依赖库的 go 源码问题,并不包括 .git 目录及其它多数源码无关文件。 而之前的 go get 的作用是下载指定包的整个 git |
8
wweir Sep 21, 2019 via Android
@wweir 接上条
之前的 go get 的作用是下载指定包的整个 git 仓库到 gopath 中的指定位置,为了向前兼容,自然就没法用 goproxy 了。 ps: 在使用 go modules 管理的 git 仓库中,go get 的作用被重新定义为:为该仓库添加指定的依赖。这样就可能正常用到 goproxy 了。 pps: 如果你是想通过 goproxy 安装指定包编译后的二进制文件,eg:安装 gopls、grafana,可以 |
9
wweir Sep 21, 2019 via Android @wweir 再接
pps: 如果你是想通过 goproxy 安装指定包编译后的二进制文件,eg:安装 gopls、grafana,可以使用我的这个辅助脚本,体验同样前所未有的爽 https://gist.github.com/wweir/78ea25df5f0d9b6a9e2acc7ab031efee |
10
codehz Sep 21, 2019 via Android
@wweir 那个,其实如果指定 GO111MOUDLE=on 并且显式指定 GOPATH 到特定目录,然后在非项目目录使用 go get 还是会用到 goproxy 的,然后也能正确安装到 gopath 里
另外 GO 1.14 据说要默认 go module 了 |
11
linhongye OP |
13
dodo2012 Sep 21, 2019
自从用上 gopls,就没爽过
|
14
kidlj Sep 21, 2019 via iPhone
|
15
scnace Sep 21, 2019 via Android
@linhongye 你的使用场景是什么?本地项目里面有没有用到 go module ? GO111MODULE 设置的是什么?有没有设置 GOPATH ?有没有打开 gopls 的 log 看过? ---- 来自一位 1.13 以前经常在带 mod 和不带 mod 项目之间疯狂切换的码农的灵魂拷问
|
16
scnace Sep 21, 2019 via Android
看了楼上的 issue 看来不是 gopls 的问题 是 vscode 的问题 ( vscode 出问题不是很正常吗.jpg
|
18
crazyvv Sep 23, 2019
gopls 内存占用是越来越狠。。不得不定时的重启一把 vscode
|
19
lxml Sep 25, 2019
gopls 真的很糟糕 而且开发团队看起来人也挺少的 要不说我都以为这是一个个人业务项目
包加载非常慢 补全也慢 然后改包名不能识别,还得手动重启 vscode 重命名只能在包作用域 …… 坑太多了 |