我在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"
)
但据我所知,应该可以在剪辑的第一个代码中喜欢。
啊,我没有符号链接等。
答案 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"
文件夹中。例如src
和github.com
这些是gopkg.in
root中必须存在的文件夹。
如果您无法导入src
,则意味着"github.com/google/go-github/github"
内的github.com
没有此文件夹。希望它有所帮助