最近发现不少小伙伴都对Golang很感兴趣,所以今天继续给大家介绍Golang相关的知识,本文《如何修复 Go 项目的 VS Code 错误:“无法使用 cwd 确定当前包的导入路径”》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~
问题内容我正在学习教程,我想我可能错过了一些东西。
我有一个 go 项目位于:
/users/just_me/development/testing/golang/example_server
内容为:
main.go
package main
import "fmt"
func main() {
fmt.println("hi world")
}
我有一个 ~/go
目录。
go 环境显示:
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!")
}
如果您使用的是 vs code,请检查 go 和 code runner 扩展是否启用,如果启用,请尝试禁用并再次启用,如果没有,请安装并启用,并下载所有请求的软件包。
今天关于《如何修复 Go 项目的 VS Code 错误:“无法使用 cwd 确定当前包的导入路径”》的内容介绍就到此结束,如果有什么疑问或者建议,可以在编程网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!