【发布时间】:2019-09-09 09:54:44
【问题描述】:
我在这里克隆了代码:https://github.com/kkdai/line-login-go。
我在heroku上部署并成功运行。但我得到:cannot find package VSCode
一般情况下,如果我把项目放在src目录下,并设置GOPATH,是不会报错的。
但是这个项目不遵循这个结构,包在vendor/ 目录中。
我必须做些什么来处理错误?
【问题讨论】:
我在这里克隆了代码:https://github.com/kkdai/line-login-go。
我在heroku上部署并成功运行。但我得到:cannot find package VSCode
一般情况下,如果我把项目放在src目录下,并设置GOPATH,是不会报错的。
但是这个项目不遵循这个结构,包在vendor/ 目录中。
我必须做些什么来处理错误?
【问题讨论】:
您可以尝试将use/add go modules 复制到您的克隆项目(使用 Go 1.11+ 和 GO111MODULE=on 设置):
go mod init github.com/kkdai/line-login-go
go mod vendor
那么您应该将所有缺少的依赖项添加到您的供应商文件夹中。
你甚至不再需要GOPATH。
如在kardianos/govendor/issue 424 中所见,go mod 应该识别 vendor/vendor.json 并导入之前由 govendor 声明和管理的正确引用。
【讨论】:
go mod init go-modulego buildgo mod vendor 它创建了文件:go.mod, go.sub (image here) 但在项目中:github.com/kkdai/line-login-go 上面,我看到他们管理包通过文件:vendor.json