首页 > 解决方案 > 在插件中找不到本地包

问题描述

我正在用 Golang 编写一个插件,我正在尝试导入一个包,该包比插件高一级。但是,我不可能找到包裹。

包名是:com_styx_proto

插件路径:SomeCoolUser/go/src/go_poc/plugins/styxBotDetectGrpc/styxBotDetectGrpc.go

试图访问的包路径:SomeCoolUser/go/src/go_poc/plugins/styx.pb.go

此代码不起作用:

import (
    "com_styx_proto"
    "io/ioutil"
    "net/http"
    "time"
    "fmt"
)

func main() {
    fmt.Println("Hello World")
}

构建时出错:无法加载 go_poc/plugins:格式错误的模块路径“go_poc/plugins”:第一个路径元素中缺少点

标签: go

解决方案


要导入不属于标准库的包,请使用其文件系统路径。对于您的情况,如果您尝试在 .../go_poc/plugins 下导入包,请编写:

import (
   com_styx_proto "go_poc/plugins"
)

此外,通常的做法是使用目录的最后一个组件作为包名,因此请考虑更改目录结构以匹配包名。


推荐阅读