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

问题描述

我正在关注教程,我想我可能错过了一些东西。

我有一个 Go 项目位于:

/Users/just_me/development/testing/golang/example_server

内容是: main.go

package main

import "fmt"

func main() {

    fmt.Println("hi world")
}

我有一个~/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>

我该如何解决?

标签: govisual-studio-codevscode-settings

解决方案


由于您的包在 之外$GOPATH,您可能需要创建一个模块文件。

您需要使用

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!")
}

推荐阅读