Go';Can';找不到导入';
我正试图将Heroku的Go';Can';找不到导入';,go,dependency-management,Go,Dependency Management,我正试图将Heroku的日志穿梭机库()合并到我正在进行的Go项目中。该工具主要设计为作为独立的二进制文件运行,但我希望以不同的方式将其集成到我的工具中 所以我得到了图书馆: $ go get github.com/heroku/log-shuttle $ ls $GOPATH/src/github.com/heroku/log-shuttle/ batcher.go Godeps ... ... package myPackage import ( "github.
日志穿梭机库()合并到我正在进行的Go项目中。该工具主要设计为作为独立的二进制文件运行,但我希望以不同的方式将其集成到我的工具中
所以我得到了图书馆:
$ go get github.com/heroku/log-shuttle
$ ls $GOPATH/src/github.com/heroku/log-shuttle/
batcher.go Godeps ...
...
package myPackage
import (
"github.com/heroku/log-shuttle"
"fmt"
"log"
)
...
它成功返回。然后我尝试导入库:
$ go get github.com/heroku/log-shuttle
$ ls $GOPATH/src/github.com/heroku/log-shuttle/
batcher.go Godeps ...
...
package myPackage
import (
"github.com/heroku/log-shuttle"
"fmt"
"log"
)
...
太好了。但是现在我转到去构建和
$ go build
# github.com/<my project>
logWriter/log_shuttle_writer.go:5: can't find import: "github.com/heroku/log-shuttle"
软件包已安装并生成,但它不想导入。正如您所看到的,包路径中有非ASCII字符(尽管连字符是非字母数字的),我找不到有关导致此问题的原因的更多信息
不确定这有什么关系,但我正在使用godep
来管理我的依赖关系
提前感谢。是一个main
包,不是一个可导入的库,这意味着它要作为二进制文件编译和运行。谢谢。因此,如果我使用fork,我希望代码驻留在main
以外的包中,然后我就可以访问导出的函数了?是否有一个通用的“最佳实践”来避免这些问题,以便您的包既可以是可运行的main
,也可以由其他人导入?如果您希望能够导入库,您可以将所有功能放在非主包中,然后有一个简单的主包导入并运行它。