Go:非本地包中的本地导入

新手上路,请多包涵

我有以下文件结构:

 .
├── bin
│   └── hello
├── pkg
└── src
    └── jacob.uk.com
        ├── greeting
        │   └── greeting.go
        └── helloworld.go

5 directories, 3 files

使用以下 GOPATH

 /Users/clarkj84/Desktop/LearningGo

src 文件夹中执行 /usr/local/go/bin/go install jacob.uk.com 后,出现错误 local import "./greeting" in non-local package

helloworld.go

 package main;
import "./greeting"

func main() {

}

原文由 Jacob Clark 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 515
1 个回答

将非本地包指定为 go install 时不能使用本地导入。如果您希望本地导入工作,首先将工作目录更改为 src/jacob.uk.com 然后执行 go install (不指定包)。

当然有 helloworld.go 你提供你会得到一个编译错误: imported and not used 。但是一旦你使用了导入的 greeting 包中的东西,它应该编译。

但是你根本不应该使用本地进口。而是写:

 import "jacob.uk.com/greeting"

这样做,您将能够从任何地方编译/运行/安装它。

原文由 icza 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题