我用的是MacOS塞拉利昂的go-1.7。
我的项目在我的$GOPATH/src文件夹中,并且在里面有一个供应商文件夹,里面有它的所有依赖项。
我在代码中使用这样的依赖关系:
import (
"github.com/google/go-github/github"
)现在,如果我运行go build,我得到的消息是,我使用的所有依赖项都无法在$GOROOT和$GOPATH中找到,并且在我的代码中添加“供应商”是有效的:
import (
"vendor/github.com/google/go-github/github"
)但据我所知,应该可以喜欢第一个代码片段。
啊,不,没有符号链接等等。
发布于 2016-12-25 09:57:11
Ok发现了问题:
我的MacOS文件系统不区分大小写,但看来go工具无法处理.修复了我的$GOPATH现在它的工作方式应该.
发布于 2020-06-09 05:14:19
go 1.12+ go模块是处理依赖项的新方法。
go mod initgo mod vendor中引入模块go build -mod vendor -o output构建发布于 2016-12-25 09:40:15
您可以在您的终端中使用echo $GOPATH来查看您的戈朗路径--在我的例子中是/home/gujarat/golang。这是没有src路径的默认路径。
因此,从这里开始,您的所有包和依赖项都在src中的$GOPATH中。例如,下面是我在项目中使用的一些包。
"fmt"
"github.com/myproject/lol/src/config" // notice the first github.com
"gopkg.in/redis.v4" // notice the gopkg.in
"log"从上面的包中,您必须在src文件夹中复制所有文件夹和依赖项。与github.com和gopkg.in一样,这些文件夹必须存在于src根目录中。
如果你不能导入你的"github.com/google/go-github/github",这意味着你的github.com在你的src里面没有这个文件夹。希望它能帮上忙
https://stackoverflow.com/questions/41319633
复制相似问题