首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未能实例化提供程序- Terraform的自定义提供程序-[叉/ exec -exec格式错误]

未能实例化提供程序- Terraform的自定义提供程序-[叉/ exec -exec格式错误]
EN

Stack Overflow用户
提问于 2020-02-28 12:22:43
回答 1查看 3K关注 0票数 1

我正在尝试为Terraform构建一个AWS自定义提供程序。

提供程序位于这个存储库:https://www.terraform.io/docs/cloud/run/install-software.html#custom-and-community-providers和遵循上的所有指令来创建提供程序二进制。

因此,基本上,我将二进制文件放在下面的目录结构中,以便Terraform获取它:terraform.d/plugins/linux_amd64/.

但是,当我使用编译好的二进制文件运行回购时,我在Terraform云上得到了这个错误:

/terraform/aws_tf/terraform.d/plugins/linux_amd64/terraform-provider-aws:错误:未能实例化提供程序“

”以获取架构: fork/exec exec格式错误

我谷歌了一下,发现我必须静态编译二进制文件并指定体系结构,我使用以下命令进行了这样的操作:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -v -a -ldflags '-w -extldflags "-static"'

如果我运行文件来获取二进制文件的详细信息,它将显示为静态链接的file terraform-provider-aws: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped

但是在Terraform上,它仍然带着同样的错误返回。

我首先在LinuxMint19.3(我正在使用的操作系统)上构建了二进制文件,当它不起作用时,我创建了一个Ubuntu18.04VM,并在那里试用了它,因为医生们说Terraform运行在Ubuntu上,所以我认为它会产生不同的效果,但仍然没有运气。

如果有人曾经做过这件事,或者知道我在哪里做错了,请帮助我。我在这里失去理智了。

EN

回答 1

Stack Overflow用户

发布于 2020-07-18 09:28:13

这个问题有点奇怪。

第一条评论:

  • 当我用curl下载3 3rdparty提供程序时,它不工作。

  • 当我从浏览器手动下载它时,它是工作的。

第二句话

当我用curl下载

  • 时,下载的文件具有以下

代码语言:javascript
复制
-rwxr-xr-x  1 abdennour  staff  653 Jul 18 12:06 terraform-provider-helmfile

  • 当我从浏览器手动下载它时,我得到:

代码语言:javascript
复制
-rwxr-xr-x@ 1 abdennour  staff  29358832 Jul 18 12:22 terraform-provider-helmfile

我在这里可以看到,curl没有下载完整的文件,因为与手动下载相比,文件大小太小了。

此外,当我手动下载文件时,会有@后缀文件权限。

我不知道为什么。但现在起作用了

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60451630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档