登录
首页 >  Golang >  Go问答

在 Go 1.13 中无法成功构建 aws-sdk-go 依赖

来源:stackoverflow

时间:2024-03-19 14:54:32 315浏览 收藏

在 Go 1.13 中构建依赖于 AWS SDK Go 库的项目时,遇到了构建失败的问题。无法导入“github.com/aws/aws-sdk-go/aws/service/s3”和“github.com/aws/aws-sdk-go/aws/service/s3/s3manager”这两个包。检查后发现,导入路径中存在错误,缺少“aws”子路径,导致构建失败。更正路径后,构建成功。

问题内容

我一直在尝试在 go v1.13 上构建一个依赖于 github.com/aws/aws-lambda-gogithub.com/aws/aws-sdk-go 的模块,但在两次导入上失败:

"github.com/aws/aws-sdk-go/aws/service/s3"
    "github.com/aws/aws-sdk-go/aws/service/s3/s3manager"

goos=linux goarch=amd64 go build -o dist/api ./api 的 stderr 如下,其中 api 目录包含我的模块定义:

api/main.go:11:2: cannot find package "github.com/aws/aws-sdk-go/aws/service/s3" in any of:
        /usr/local/go/src/github.com/aws/aws-sdk-go/aws/service/s3 (from $goroot)
        /u/go/src/github.com/aws/aws-sdk-go/aws/service/s3 (from $gopath)
api/main.go:12:2: cannot find package "github.com/aws/aws-sdk-go/aws/service/s3/s3manager" in any of:
        /usr/local/go/src/github.com/aws/aws-sdk-go/aws/service/s3/s3manager (from $goroot)
        /u/go/src/github.com/aws/aws-sdk-go/aws/service/s3/s3manager (from $gopath)

老实说,我不知道为什么会发生这种情况,任何意见都将不胜感激。

已尝试使用 go get 来确保已提取依赖项:

$ go get github.com/aws/aws-sdk-go

并且请求的导入路径存在于 $gopath/src/github.com/aws/aws-sdk/go/aws/service/s3$gopath/src/github.com/aws/aws-sdk 下/go/aws/service/s3/s3manager

此外,尝试使用 go clean --cache --modcache 清除缓存,同时删除以前拉取的模块。

仔细检查,我完全忽略了这一点,导入路径是 /u/go/src/github.com/aws/aws-sdk-go/aws/service/s3 而不是 /u/go/ src/github.com/aws/aws-sdk-go/service/s3 ,前者在 aws-sdk-go 内有一个额外的 aws 子路径。


解决方案


刚刚意识到我在代码中犯的复制/粘贴错误。

import (
    "github.com/aws/aws-sdk-go/aws/service/s3"
    "github.com/aws/aws-sdk-go/aws/service/s3/s3manager"
)

而不是

import (
    "github.com/aws/aws-sdk-go/service/s3"
    "github.com/aws/aws-sdk-go/service/s3/s3manager"
)

今天关于《在 Go 1.13 中无法成功构建 aws-sdk-go 依赖》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>