英文:
How can I find the problem with Go failed import?
问题
在进行一个Go Web应用项目(用于学习)时,我遇到了以下问题:
一开始,一切都正常。我从标准库中导入了一些包,在代码中使用它们,一切都工作正常,直到我尝试导入用于PostgreSQL的pq驱动程序时。
我详细描述一下我所做的操作:
项目文件夹位于:notes。
项目所在目录为:C:\Users\david\go\src\github.com\davidkuch\notes
启动时,我运行了命令:go mod init。
我导入了标准包"database/sql"。
为了下载该包,我使用了命令:go get "github.com/lib/pq"
之后运行了go mod tidy
但是编译器报错:无法导入{package-name},没有所需的模块提供该包{package-name}
我尝试阅读相关主题的文档,但找不到我犯了什么错误的地方。我尝试安装另一个来自GitHub的包时也出现了同样的问题。
我应该去哪里查找问题呢?由于编译器说他"找不到",我花了很多时间检查命名和路径,但我确实在尝试导入的路径中看到了该包。更准确地说:
经过几个小时的自己尝试修复,我向您寻求一些帮助或解释发生了什么。
英文:
While working on a Go web-app project (for learning),
I have encountered the following issue:
At the beginning, everything was alright.
I imported packages from the standard library,
used them in the code and everything worked.
up to the moment when I have tried to import the pq driver for PostgreSQL.
The actions that I did in detail:
The folder with the project files inside: notes.
project is in the directory: C:\Users\david\go\src\github.com\davidkuch\notes
When starting, i run the command: go mod init.
I imported the standard package "database/sql".
to download the package I used: go get "github.com/lib/pq"
after that- go mod tidy
but the compiler says:could not import {package-name} no required module provides package
{package-name}
I tried to read through the docs of the related topics, but couldn't find where I did a mistake.
the same happens for another package i have tried to install from GitHub.
where should I be looking to find the problem?
as the compiler says that he "cannot find", I made a lot of effort checking naming and paths.
but I see the package exactly in the path I try to import from.
to be more precise:
After some hours of trying to fix that by myself, I ask You for some help or explanation of what is happening.
答案1
得分: 2
你不需要这样做。只需创建一个文件夹,比如: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
英文:
> project is in the directory: C:\Users\david\go\src\github.com\davidkuch\notes
You don't need to do that. Just make a folder like: C:\Users\david\notes
.
Then make C:\Users\david\notes\main.go
:
package main
import (
"database/sql"
_ "github.com/lib/pq"
)
func main() {
println(sql.ErrNoRows)
}
Then build:
go mod init something
go mod tidy
go build
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论