go - VSCode 在新的 GO 安装中找不到包
问题描述
我刚刚在新计算机上安装了带有工具的 Go 和 Visual Studio Code。访问我现有的项目时,我遇到了导入问题,例如:
could not import golang.org/x/text/encoding/charmap (cannot find package \"golang.org/x/text/encoding/charmap\" in any of
C:\Program Files\Go\src\golang.org\x\text\encoding\charmap (from $GOROOT)
C:\Users\allan\go\src\golang.org\x\text\encoding\charmap (from $GOPATH))
GOPATH=C:\Users\allan\go
OS version: Windows 10.0.19043 Build 19043
GO version: go1.17.1 windows/amd64
Visual Studio Code version: 1.60.2 (user setup)
该软件包实际上已安装go get ..
并已安装在:
c:\Users\allan\go\pkg\mod\golang.org\x\text@v0.3.7\encoding\charmap\charmap.go
我注意到两件事:
编译器寻找
C:\Users\allan\go\src\golang.org\...
而不是..\pkg\mod\golang.org\...
安装的软件包具有名称
text@v0.3.7
,而不仅仅是text
.
但是,go.sum文件包括:
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
所以,我猜编译器应该找出要使用的版本。
项目文件夹go.mod
:
module github.com/Orionsg/util
go 1.16
require golang.org/x/text v0.3.7
go.sum:
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
Visual Studio Code 或其他 Go 工具是否与 Go 安装不同步?
我可以做些什么来让 Go 编译器使用包的正确目录位置吗?
还有其他建议吗?
解决方案
我终于发现出了什么问题。这是一个 VSCode 问题:
在 VSCode 中打开文件夹时,它不再支持打开一个顶层文件夹,其下有项目文件夹,可以在访问不同项目时展开和关闭。这早些时候工作得很好。
现在,必须将每个项目作为顶级文件夹单独打开,否则导入检查无法正常工作。
推荐阅读
- python-3.x - 使用 color_mapper 隐藏基于分类数据的 Bokeh 字形
- javascript - 如何在 minicart magento2 中显示特定的产品附加选项
- python - 有没有办法将 Jupyter 笔记本上单元格中突出显示的代码更改为全部小写?
- python - Spark NLP Normalizer 中的正则表达式无法正常工作
- java - Spring - 从受登录名和密码保护的远程位置获取资源列表
- reactjs - UI Kitten 和 React Native 无法使用主题道具
- python - 为什么 django 运行命令“python3 manage.py runserver”不在 docker-compose 中执行?
- c# - 在 C# 中以编程方式检查字符串是否包含有效的 C# 代码
- excel - 工作表之间的动态排序和分组数据
- python - 使用 python 和 gmail 发送电子邮件