首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未与“go build”一起使用的供应商文件夹

未与“go build”一起使用的供应商文件夹
EN

Stack Overflow用户
提问于 2016-12-25 08:09:42
回答 4查看 25.9K关注 0票数 12

我用的是MacOS塞拉利昂的go-1.7。

我的项目在我的$GOPATH/src文件夹中,并且在里面有一个供应商文件夹,里面有它的所有依赖项。

我在代码中使用这样的依赖关系:

代码语言:javascript
复制
import (
"github.com/google/go-github/github"
)

现在,如果我运行go build,我得到的消息是,我使用的所有依赖项都无法在$GOROOT和$GOPATH中找到,并且在我的代码中添加“供应商”是有效的:

代码语言:javascript
复制
import (
"vendor/github.com/google/go-github/github"
)

但据我所知,应该可以喜欢第一个代码片段。

啊,不,没有符号链接等等。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-12-25 09:57:11

Ok发现了问题:

我的MacOS文件系统不区分大小写,但看来go工具无法处理.修复了我的$GOPATH现在它的工作方式应该.

票数 5
EN

Stack Overflow用户

发布于 2020-06-09 05:14:19

go 1.12+ go模块是处理依赖项的新方法。

  • 修复依赖版本go mod init
  • 在供应商文件夹go mod vendor中引入模块
  • 从供应商目录go build -mod vendor -o output构建
票数 13
EN

Stack Overflow用户

发布于 2016-12-25 09:40:15

您可以在您的终端中使用echo $GOPATH来查看您的戈朗路径--在我的例子中是/home/gujarat/golang。这是没有src路径的默认路径。

因此,从这里开始,您的所有包和依赖项都在src中的$GOPATH中。例如,下面是我在项目中使用的一些包。

代码语言:javascript
复制
"fmt"
"github.com/myproject/lol/src/config" // notice the first github.com
"gopkg.in/redis.v4" // notice the gopkg.in
"log"

从上面的包中,您必须在src文件夹中复制所有文件夹和依赖项。与github.comgopkg.in一样,这些文件夹必须存在于src根目录中。

如果你不能导入你的"github.com/google/go-github/github",这意味着你的github.com在你的src里面没有这个文件夹。希望它能帮上忙

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41319633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档