一尘不染

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

go

我有以下文件结构:

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

5 directories, 3 files

使用以下 GOPATH

/Users/clarkj84/Desktop/LearningGo

在文件夹/usr/local/go/bin/go install jacob.uk.com内执行后src,我收到错误local import "./greeting" in non-local package

helloworld.go

package main;
import "./greeting"

func main() {

}

阅读 153

收藏
2021-12-28

共1个答案

一尘不染

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

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

但是您根本不应该使用本地导入。而是写:

import "jacob.uk.com/greeting"

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

2021-12-28