我正在学习教程,我想我可能错过了一些东西。
我有一个 Go 项目位于:
/Users/just_me/development/testing/golang/example_server
内容是:
main.go
package main
import "fmt"
func main() {
fmt.Println("hi world")
}
我有一个 ~/go 目录。
go env 显示:
GOPATH="/Users/just_me/go"
GOROOT="/usr/local/Cellar/go/1.12.9/libexec"
我在 VSCode 中安装了建议的包。
当我保存我的 main.go 时,我得到:
Not able to determine import path of current package by using cwd: /Users/just_me/development/testing/golang/example_server and Go workspace:
/Users/just_me/development/testing/golang/example_server>
我该如何解决这个问题?
最佳答案
由于您的包在 $GOPATH 之外,您可能需要创建一个模块文件。
您需要使用以下命令初始化您的 go 模块
go mod init your.import/path
将导入路径更改为您喜欢的任何路径。 通过这种方式,您可以明确设置导入路径,这可能有助于解决问题。
生成的 go.mod 文件如下所示:
module your.import/path
go 1.14 // Your go version
因此,如果 go.mod 文件与 main.go 文件位于同一目录中,您现在可以从中导入子模块:
例如main.go:
package main
import (
"your.import/path/somepackage" // Import package from a subdirectory. This only works if `go.mod` has been created as above
)
func main() {
somepackage.SomeMethod()
}
在 somepackage/whatever.go 中:
package somepackage
import "fmt"
func SomeMethod() {
fmt.Println("Success!")
}
关于go - 如何修复 VS Code 错误 : "Not able to determine import path of current package by using cwd" for Go project,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57572507/