我在运行terraform init/get时遇到问题。

我得到的错误:

Error downloading modules: Error loading modules: error downloading 'ssh://[email protected]/etc etc': git must be available and on the PATH

github路径是正确的,可以在另一台机器上正常工作。

Git工作正常,它也在PATH中。
TF_LOG为空。
在ubuntu上工作。

谢谢!

最佳答案

我不知道您是否解决了您的问题,但我遇到了同样的问题,然后解决了。分享答案,以防其他人需要帮助。

供引用,我在

  • Ubuntu 18.04
  • Linux Ubuntu 4.15.0-45通用
  • 通过Snap 安装的
  • Terraform v0.11.11 Rev 216

    错误来自terraform/vendor/github.com/hashicorp/go-getter/get_git.go函数Get文件。该函数尝试的第一件事是以下调用
    if _, err := exec.LookPath("git"); err != nil {
       return fmt.Errorf("git must be available and on the PATH")
    }
    

    这将导致在路径中列出的所有文件夹中搜索具有所提供名称(在本例中为git)的文件。我创建并执行了一个执行相同调用的go脚本,它的行为符合预期,找到git时没有错误。

    之后,我从snap卸载了terraform并直接从Hashicorp网站下载了可执行文件。当我运行仍为v0.11.11的可执行文件版本时,它没有问题地运行。这使我相信该错误与快照如何运行可执行文件或快照安装的应用程序周围的权限模型有关。

    TL; DR:
    卸载Terraform的快速安装版本,然后下载并使用Hashicorp二进制文件。

    关于git - terraform init失败-git必须可用并且在PATH上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54406076/

  • 10-15 14:51