如何从父目录进行相对导入?从父目录进行相对导入
从meme/cmd/meme
:
import "../../../meme"
这给出了一个明确的错误:
[email protected]:~/gopath/src/bitbucket.org/anacrolix/meme/cmd/meme$ go get bitbucket.org/anacrolix/meme/cmd/meme
can't load package: /home/matt/gopath/src/bitbucket.org/anacrolix/meme/cmd/meme/main.go:8:2: local import "../../../meme" in non-local package
[email protected]:~/gopath/src/bitbucket.org/anacrolix/meme/cmd/meme$ echo $GOPATH
/home/matt/gopath
如何在本地从父目录导入?
我尝试了几种不同的方法,但没有看到您提到的模糊错误。你的意思是你发现这个词语含糊不清,或者那个消息文本中包含了含糊不清的单词。我尝试过的两种方法是在GOPATH中meme/cmd/meme,然后在GOPATH之外。在这两种情况下,相对的进口路径对我来说都很好。你能提供更多关于什么不适合你的细节吗? – Sonia
@Sonia您是否尝试使用go工具?我会添加更多细节。 –
是的。我认为你有一个meme包和一个可执行文件meme/cmd/meme。对于GOPATH的情况,运行或去安装可执行文件刚刚工作。对于GOPATH以外的情况,我使用go tool 6g编译了meme包并转到工具包。主包中的导入只需要../../meme指向.a,否则就去工具6g,然后去工具6l构建一个访问包的可执行程序。 – Sonia