【问题标题】:Can't build go project in travis无法在 travis 中构建 go 项目
【发布时间】:2015-06-08 01:33:31
【问题描述】:

我开始创建一个非常轻量级的消息代理来在一个项目中练习 go、travis 和一些 aws 服务。

我目前的问题是我可以在本地机器上构建、运行和测试我的开发分支,但是当 travis 尝试构建它时,我得到一个编译错误。它不喜欢的代码直接来自 AWS 示例,进一步加深了我的谜团。

Travis 构建失败 https://travis-ci.org/hevnly/eevy/builds/65687886

Github 仓库 https://github.com/hevnly/eevy/tree/92412cf729ed546d698ded1e514d2d54c340ff81

错误

handler/lambda.go:31:不能使用“github.com/awslabs/aws-sdk-go/aws”.Config 文字(类型 *“github.com/awslabs/aws-sdk-go/aws”.Config)作为在 lambda.New 的参数中输入 *"github.com/aws/aws-sdk-go/aws".Config handler/sqs.go:26:不能使用“github.com/awslabs/aws-sdk-go/aws”.Config 文字(类型 *“github.com/awslabs/aws-sdk-go/aws”.Config)作为在 sqs.New 的参数中输入 *"github.com/aws/aws-sdk-go/aws".Config

代码示例 svc := lambda.New(&aws.Config{Region: "eu-west-1"})

【问题讨论】:

  • 您确定您的 GOPATH 中没有旧版本的依赖项吗?
  • Stack Overflow 问题直接包含相关信息,而不是通过链接(除其他外,外部链接将来可能会断开)。照原样,您的问题实际上是“我的 [未指定] 代码出现 [未指定] 编译器错误”。

标签: go travis-ci aws-sdk


【解决方案1】:

好的,我刚刚尝试 go get 你的 repo 并得到了同样的错误:

handler/lambda.go:29: cannot use "github.com/awslabs/aws-sdk-go/aws".Config literal (type *"github.com/awslabs/aws-sdk-go/aws".Config) as type *"github.com/aws/aws-sdk-go/aws".Config in argument to lambda.New
handler/sqs.go:26: cannot use "github.com/awslabs/aws-sdk-go/aws".Config literal (type *"github.com/awslabs/aws-sdk-go/aws".Config) as type *"github.com/aws/aws-sdk-go/aws".Config in argument to sqs.New

我建议你开始使用依赖管理器,这样你就可以在你的 repo 中修复你的依赖,并在任何地方都有可重现的构建。

我的推荐是Godep,但还有其他的。

【讨论】:

  • 这很可能是问题所在。我仍在学习一些最佳实践,依赖管理是我还没有投入时间的东西。当我确认这确实是问题时,我会将其标记为正确答案:-)
  • 这正是我的问题。感谢您提出非常好的建议。
猜你喜欢
  • 1970-01-01
  • 2019-05-10
  • 2016-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多