Golang Go语言中程序可以运行,但vscode语法检查提示找不到包
代码块
package main
import(
"github.com/gocolly/colly/v2"
"fmt"
)
func main() {
// create a new collector
c := colly.NewCollector()
fmt.Println(c)
}
运行结果
Requests made: 0 (0 responses) | Callbacks: OnRequest: 0, OnHTML: 0, OnResponse: 0, OnError: 0
这行"github.com/gocolly/colly/v2"飘红,提示:
error while importing github.com/gocolly/colly/v2: cannot find package "github.com/saintfish/chardet" in any of
能用,但是该怎么解决飘红的问题。有两个 gopath ,目前在第二个 gopath 目录下的 src 目录的下级目录中运行,有 go.mod,go.sum 。
Golang Go语言中程序可以运行,但vscode语法检查提示找不到包
更多关于Golang Go语言中程序可以运行,但vscode语法检查提示找不到包的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
如果不是什么历史遗留原因的话,还是把项目从 gopath 里边移出来吧,go 都出到 1.19 了,大家可能已经告别 gopath 很久了。
你这个症状看起来,就是 gopls 并没有找到这个包,但是 go 命令能识别到。看起来是 gopls 去 gopath 里边找了,但是 go 命令能正确识别 go mod 安装的包。
极大概率可以通过移出来解决问题
更多关于Golang Go语言中程序可以运行,但vscode语法检查提示找不到包的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
非常感谢,看来是有了 mod 之后不再需要 gopath 了,删除环境变量后正常了。
在使用 Visual Studio Code (VSCode) 进行 Go 语言开发时,遇到“找不到包”的语法检查提示,通常是由于以下几个原因导致的:
-
GOPATH/GOMODULE 配置问题:
- 确保你的项目是在 GOPATH 下,或者你已经初始化了 Go Modules(通过
go mod init <module-name>
)。VSCode 会根据这些配置来查找依赖包。
- 确保你的项目是在 GOPATH 下,或者你已经初始化了 Go Modules(通过
-
依赖未正确安装:
- 如果你的项目使用了 Go Modules,确保你已经运行了
go mod tidy
来整理依赖,并且go.mod
和go.sum
文件是最新的。 - 对于 GOPATH 模式,检查依赖包是否已经通过
go get
命令正确安装到$GOPATH/pkg/mod
或$GOPATH/src
目录下。
- 如果你的项目使用了 Go Modules,确保你已经运行了
-
VSCode 插件配置:
- 确保安装了官方的 Go 插件(由 Google 提供),并且插件配置正确。插件通常会自动处理 GOPATH 和 GOMODULE 的设置。
- 检查 VSCode 设置中是否有关于 Go 语言工具的自定义配置,这些配置可能会影响包的查找。
-
环境变量:
- 检查你的系统环境变量(如 GOPATH, GOROOT),确保它们正确设置并且 VSCode 可以访问到这些路径。
-
重启 VSCode:
- 有时候,简单地重启 VSCode 可以解决缓存或配置更新不及时导致的问题。
如果以上步骤都不能解决问题,尝试查看 VSCode 的输出面板(Output),选择 Go 插件相关的输出,看是否有更详细的错误信息。