如何找到 Go 导入失败的问题?

How can I find the problem with Go failed import?

在处理 Go 网络应用程序项目(用于学习)时, 我遇到了以下问题:

一开始,一切都还好。 我从标准库中导入包, 在代码中使用它们,一切正常。 直到我尝试为 PostgreSQL 导入 pq 驱动程序的那一刻。

我做过的详细动作: 项目文件所在的文件夹:notes.

项目在目录中:C:\Users\david\go\src\github.com\davidkuch\notes

启动时,我运行命令:go mod init.

我导入了标准包“database/sql”。

下载我使用的包:go get "github.com/lib/pq"

在那之后-去mod整理

但编译器 says:could 不导入 {package-name} 不需要 module 提供包 {包名}

我试图通读相关主题的文档,但找不到我在哪里做错了。 我尝试从 GitHub.

安装的另一个包也会发生同样的情况

我应该在哪里寻找问题? 当编译器说他“找不到”时,我付出了很多努力来检查命名和路径。 但我在我尝试从中导入的路径中看到了这个包。 更准确地说:

我尝试自己修复了几个小时后,请您提供帮助或解释发生的事情。

project is in the directory: C:\Users\david\go\src\github.com\davidkuch\notes

你不需要那样做。只需创建一个文件夹,如:C:\Users\david\notes.

然后C:\Users\david\notes\main.go:

package main

import (
   "database/sql"
   _ "github.com/lib/pq"
)

func main() {
   println(sql.ErrNoRows) 
}

然后构建:

go mod init something
go mod tidy
go build