登录
首页 >  Golang >  Go问答

如何修复 Go 项目的 VS Code 错误:“无法使用 cwd 确定当前包的导入路径”

来源:stackoverflow

时间:2024-03-30 15:48:32 369浏览 收藏

最近发现不少小伙伴都对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 确定当前包的导入路径”》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>