供应商文件夹未与' go build'

时间:2016-12-25 08:09:43

标签: github go

我在MacOS Sierra中使用go-1.7。

我的项目位于我的 $ GOPATH / src 文件夹中,并且内部有一个 vendor 文件夹及其所有依赖项。

我在我的代码中使用了这样的依赖项:

import (
"github.com/google/go-github/github"
)

现在,如果我运行go build,我得到的消息是我在$ GOROOT和$ GOPATH中找不到我使用的所有依赖项,并添加" vendor"我的代码正在运行:

import (
"vendor/github.com/google/go-github/github"
)

但据我所知,应该可以在剪辑的第一个代码中喜欢。

啊,我没有符号链接等。

4 个答案:

答案 0 :(得分:3)

好的发现了问题:

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

答案 1 :(得分:3)

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

  • 要修复依赖版本go mod init
  • 将模块放入供应商文件夹go mod vendor
  • 要从供应商目录go build -mod vendor -o output
  • 进行构建

答案 2 :(得分:2)

我收到了这个错误并且挣扎了一段时间;我更新到Go 1.8.3并使用滑翔版0.12.3;我的GOPATH设置为$ PWD,并且滑动将所有内容安装在./vendor文件夹中;

终于得到了错误; 在GOPATH下应该是一个src文件夹,你的所有工作区都应该在这个src文件夹下

它必须在文档中,在开发机器中我设置正确;但错过了Jenkins的建设

答案 3 :(得分:1)

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

所以从这里开始,所有的包和依赖项都在src的{​​{1}}内。例如,这里是我在项目中使用的一些包。

$GOPATH

从上面的包中,您必须将所有文件夹和依赖项复制到"fmt" "github.com/myproject/lol/src/config" // notice the first github.com "gopkg.in/redis.v4" // notice the gopkg.in "log" 文件夹中。例如srcgithub.com这些是gopkg.in root中必须存在的文件夹。

如果您无法导入src,则意味着"github.com/google/go-github/github"内的github.com没有此文件夹。希望它有所帮助