V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
ShangbaizeDaoye
V2EX  ›  Go 编程语言

vscode 使用 go module 时即使下载了 mod cache 还是提示找不到 package

  •  
  •   ShangbaizeDaoye · 2020-03-13 14:44:46 +08:00 · 4280 次点击
    这是一个创建于 1703 天前的主题,其中的信息可能已经有所发展或是发生改变。
    各位大佬好,我最近在学 go。我在 win 上用 vscode 搭建了 go 1.14 环境,用的是 gopls 语言服务器。

    我现在是 github 上找些 go 项目拉到本地来学 go 的,有些项目 go.mod 里依赖很多第三方模块,go install 时会在 pkg/mod 自动下载依赖的三方模块。但是即使下载了 mod cache,vscode 里在 import 处还是始终提示找不到 package。

    听说前几个版本的 go 不支持 module,以前 go install 是会在 src/里下载存放三方的 package,但现在在使用 module 情况下三方包是放在 pkg/mod 里了。我现在为了让 import 提示和转到定义能正常工作,不可能手动在 src/里下这么多的三方包。如果直接把 pkg/mod 里的缓存复制到 src/里也不太现实,因为缓存文件夹名都有版本号后缀。

    各位大佬是怎么解决这个问题的?谢谢指导!
    9 条回复    2020-08-06 16:21:10 +08:00
    ifconfig
        1
    ifconfig  
       2020-03-13 14:56:16 +08:00
    同新手,弱弱的问一下不是应该 go get -u 么
    puperSB
        2
    puperSB  
       2020-03-13 15:07:10 +08:00
    很明显是你 vscode 配的有问题
    joyme
        3
    joyme  
       2020-03-13 15:12:40 +08:00
    vscode 还去 src 下面找说明没有使用 go module,但是 go 1.14 应该是默认使用的。

    我在 linux 上使用 vscode,左下角会有一个 Go Modules 的小图标,你可以检查一下
    janxin
        4
    janxin  
       2020-03-13 15:15:01 +08:00
    可能是 gopls 挂掉了,结束一下进程试试
    ShangbaizeDaoye
        5
    ShangbaizeDaoye  
    OP
       2020-03-13 15:46:10 +08:00
    @ifconfig 这个命令把 pkg/mod 里的三方模块全更到最新了。问题刚刚解决,vscode 的工作空间我打开到了 mod 目录的上一级了,所以 import 从 src 找包没从 pkg/mod 找包。
    ShangbaizeDaoye
        6
    ShangbaizeDaoye  
    OP
       2020-03-13 15:47:27 +08:00
    @joyme 多谢,你这提醒了我,我检查了下发现是我 vscode 的工作空间打开到了 mod 目录的上一级了,所以 import 从 src 找包没从 pkg/mod 找包。
    hijoker
        7
    hijoker  
       2020-03-13 22:16:25 +08:00
    goland 他不香么
    useben
        8
    useben  
       2020-03-13 22:25:41 +08:00
    别折腾,听我的,直接上 goland
    FogDong
        9
    FogDong  
       2020-08-06 16:21:10 +08:00
    大佬好,遇到了同样的问题。在 GitHub 上拉的一个项目里面有多个文件夹,有多个 go.mod
    请问这种情况的话,工作区在 mod 的上一级可以通过什么配置使 import 正常嘛
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2664 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:00 · PVG 18:00 · LAX 02:00 · JFK 05:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.