【问题标题】:no required module provides package github.com/aws/aws-sdk-go/aws不需要模块提供包 github.com/aws/aws-sdk-go/aws
【发布时间】:2021-09-21 04:14:08
【问题描述】:

为什么我会收到此错误消息?我是使用 aws sam 和 Go 的初学者。

Error: GoModulesBuilder:Build - Builder Failed: main.go:9:2: no required module provides package github.com/aws/aws-sdk-go/aws; to add it:
go get github.com/aws/aws-sdk-go/aws
main.go:10:2: no required module provides package github.com/aws/aws-sdk-go/aws/session; to add it:
go get github.com/aws/aws-sdk-go/aws/session
main.go:11:2: no required module provides package github.com/aws/aws-sdk-go/service/dynamodb; to add it:<br>
go get github.com/aws/aws-sdk-go/service/dynamodb

这是我在 vscode 中的代码 主包

import (
    "logs"

    "github.com/aws/aws-lambda-go/events"
    "github.com/aws/aws-lambda-go/lambda"

    "github.com/aws/aws-sdk-go/aws"
    "github.com/aws/aws-sdk-go/aws/session"
    "github.com/aws/aws-sdk-go/service/dynamodb"
)

【问题讨论】:

  • 安装的go版本是什么?
  • 错误消息要求您运行命令。你试过运行它吗?如果是这样,并且如果它没有解决问题,它是否给出了任何错误?

标签: amazon-web-services go sdk


【解决方案1】:

问题是 AWS SAM 创建了一个文件夹结构,其中 SAM 项目的根目录包含 Makefile,AWS 让您在其中构建可执行文件,但应用程序的入口点位于子文件夹中(即 @ 987654322@文件夹)。

您必须从与 main.gogo.mod 文件相同的位置运行 go mod initgo mod tidy,而不是从 SAM 应用程序的根文件夹。

因此,对于使用 go 学习 SAM 的其他任何人,请在运行 go 命令之前尝试使用 go 文件更改到子文件夹。

【讨论】:

    【解决方案2】:

    您需要正确设置您的 Go 项目以进行依赖管理。首先按照Tutorial: Get started with Go中描述的步骤初始化项目:

    go mod init YOUR_PROJECT_NAME
    

    然后添加你的依赖:

    go get github.com/aws/aws-sdk-go/aws
    go get github.com/aws/aws-sdk-go/service/dynamodb
    

    【讨论】:

    • 下班后我发现了问题所在。我的 go.mod 文件有点脏,所以我删除了它并重建了它。
    【解决方案3】:

    如果您已经有 go.mod 文件,请运行以下命令以查找包 xxx/xxx 的模块

    go mod tidy
    

    Call code in an external package

    【讨论】:

      【解决方案4】:

      对于使用AWS SAMvs-code 遇到此问题的人,如果您的文件夹如下所示

      ├── Makefile
      ├── README.md
      ├── hello-world
      │   ├── go.mod
      │   ├── go.sum
      │   ├── main.go
      │   └── main_test.go
      └── template.yaml
      

      尝试移动 go.modgo.sum 到根文件夹(打开 vs-code 的位置),如下所示:

      ├── Makefile
      ├── README.md
      ├── go.mod
      ├── go.sum
      ├── hello-world
      │   ├── main.go
      │   └── main_test.go
      └── template.yaml
      

      【讨论】:

        猜你喜欢
        • 2018-09-29
        • 2021-04-23
        • 1970-01-01
        • 2018-05-14
        • 1970-01-01
        • 1970-01-01
        • 2020-12-02
        • 2020-09-15
        • 1970-01-01
        相关资源
        最近更新 更多