Я не знаю, решили ли вы свою проблему или нет, но я столкнулся с той же проблемой, а затем решил ее.Обмен ответом в случае, если кому-то еще нужна помощь.
Для справки я столкнулся с этой проблемой на
- Ubuntu 18.04
- Linux Ubuntu 4.15.0-45-generic
- Terraform v0.11.11 Rev 216, установленный через Snap
Ошибка происходит из файла 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 без ошибок.
После этого я удалил terraform из оснастки и загрузил исполняемый файл прямо с сайта Hashicorp.Когда я запустил ту версию исполняемого файла, которая все еще была v0.11.11
, она работала без проблем.Это заставляет меня поверить, что ошибка связана с тем, как Snap запускал исполняемый файл или модель разрешений для приложений, установленных с помощью Snap.
TL; DR: Удалите версию с установленной SnapTerraform и вместо этого скачать и использовать двоичный файл Hashicorp.