【问题标题】:VSCode golang module works only in debug mode / module directory problem?VSCode golang 模块只能在调试模式下工作 / 模块目录问题?
【发布时间】:2019-12-24 18:39:01
【问题描述】:

我有一个带有 go 模块的小型 golang 项目,并且我依赖于 github.com/eiannone/keyboard。

如果我用 F5(开始调试)启动我的主文件,它就可以工作。如果我用 CTR-F5 启动它(不调试就运行)它说它找不到包:

data/work/advent/d13/main.go:9:2: cannot find package "github.com/eiannone/keyboard" in any of:
    /usr/local/go/src/github.com/eiannone/keyboard (from $GOROOT)
    /home/user/work/go/src/github.com/eiannone/keyboard (from $GOPATH)

我可以从控制台重现相同的错误消息:如果我在模块目录 (data/work/advent) 中,发出 go run d13/main.go 有效,但如果我从不同的目录发出命令,则会失败并显示相同的错误消息.

是否可以设置launch.json中使用的目录?

还是有其他事情发生?

【问题讨论】:

    标签: go visual-studio-code


    【解决方案1】:

    您收到“找不到包”错误的原因是您尝试使用的包不存在于 GOROOT 中,也不存在于 GOPATH 中。为了消除错误,请尝试使用 go get 命令后跟 GitHub 包的链接。

    go get github.com/eiannone/keyboard
    

    【讨论】:

    • 软件包作为模块安装。如果我运行go list -m all,我确实看到了github.com/eiannone/keyboard。我在$GOPATH/pkg/mod/... 下看到它。此外,如果我使用 go run 手动运行它或在带有调试的 VSCode 中运行它,我的程序就可以工作。只有在没有在 VSCode 中调试的情况下运行它才会失败。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-22
    • 1970-01-01
    • 2021-02-09
    • 1970-01-01
    • 2022-01-20
    相关资源
    最近更新 更多