Tfenv: Problem mit TFENV_AUTO_INSTALL und aktueller:<regex>Syntax</regex>

Erstellt am 6. Okt. 2020  ·  2Kommentare  ·  Quelle: tfutils/tfenv

Beim Navigieren in das Verzeichnis mit einer .terraform-version Datei mit diesem Inhalt: latest:^0.13 es nicht automatisch korrekt installiert. Stattdessen bekomme ich das:

[mpescetto:~/test/test2]$ export TFENV_DEBUG=2
[mpescetto:~/test/test2]$ terraform -version
[DEBUG] Sourcing helpers from /usr/local/Cellar/tfenv/2.0.0/lib/helpers.sh
/usr/local/bin/terraform: DEBUG trap set
/usr/local/bin/terraform: Helpers sourced successfully
/usr/local/bin/terraform: $PATH does not contain '/usr/local/Cellar/tfenv/2.0.0/libexec', prepending and exporting it now
/usr/local/bin/terraform: $PATH does not contain '/usr/local/Cellar/tfenv/2.0.0/bin', prepending and exporting it now
/usr/local/bin/terraform: program="terraform"
/usr/local/bin/terraform: Exec: "/usr/local/Cellar/tfenv/2.0.0/bin/tfenv" exec "-version"
/usr/local/Cellar/tfenv/2.0.0/bin/tfenv: TFENV_HELPERS is set, not sourcing helpers again
/usr/local/Cellar/tfenv/2.0.0/bin/tfenv: $PATH already contains '/usr/local/Cellar/tfenv/2.0.0/libexec', not adding it again
/usr/local/Cellar/tfenv/2.0.0/bin/tfenv: $PATH already contains '/usr/local/Cellar/tfenv/2.0.0/bin', not adding it again
/usr/local/Cellar/tfenv/2.0.0/bin/tfenv: Setting TFENV_DIR to /Users/mpescetto/test/test2
/usr/local/Cellar/tfenv/2.0.0/bin/tfenv: tfenv argument is: exec
/usr/local/Cellar/tfenv/2.0.0/bin/tfenv: Long argument provided: exec
/usr/local/Cellar/tfenv/2.0.0/bin/tfenv: Resulting command-path: /usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-exec
/usr/local/Cellar/tfenv/2.0.0/bin/tfenv: Exec: "/usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-exec" "-version"
/usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-exec: TFENV_HELPERS is set, not sourcing helpers again
/usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-exec: $PATH already contains '/usr/local/Cellar/tfenv/2.0.0/libexec', not adding it again
/usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-exec: $PATH already contains '/usr/local/Cellar/tfenv/2.0.0/bin', not adding it again
/usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-exec: Getting version from tfenv-version-name
/usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-version-name: TFENV_HELPERS is set, not sourcing helpers again
/usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-version-name: $PATH already contains '/usr/local/Cellar/tfenv/2.0.0/libexec', not adding it again
/usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-version-name: $PATH already contains '/usr/local/Cellar/tfenv/2.0.0/bin', not adding it again
/usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-version-file: TFENV_HELPERS is set, not sourcing helpers again
/usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-version-file: $PATH already contains '/usr/local/Cellar/tfenv/2.0.0/libexec', not adding it again
/usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-version-file: $PATH already contains '/usr/local/Cellar/tfenv/2.0.0/bin', not adding it again
/usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-version-file: Looking for a version file in /Users/mpescetto/test/test2
/usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-version-file: Found at /Users/mpescetto/test/test2/.terraform-version
/usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-version-name: TFENV_VERSION_FILE retrieved from tfenv-version-file: /Users/mpescetto/test/test2/.terraform-version
/usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-version-name: TFENV_VERSION specified in TFENV_VERSION_FILE: latest:^0.13
/usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-version-name: TFENV_VERSION uses 'latest' keyword: latest:^0.13
/usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-version-name: 'latest' keyword uses regex: ^0.13
/usr/local/Cellar/tfenv/2.0.0/libexec/tfenv-version-name: No installed versions of terraform matched 'latest:^0.13'
Here's a shell for debugging the current environment. 'exit 0' to resume script from here. Non-zero exit code will abort - parent shell will terminate.

Selbst der Versuch, damit aufzulisten, schlägt fehl:

[mpescetto:~/test/test2]$ tfenv list
No installed versions of terraform matched 'latest:^0.13'
tfenv-version-name failed

aber wenn ich nur tfenv install mache, wird es richtig installiert:

[mpescetto:~/test/test2]$ tfenv install
Installing Terraform v0.13.4
Downloading release tarball from https://releases.hashicorp.com/terraform/0.13.4/terraform_0.13.4_darwin_amd64.zip
######################################################################## 100.0%
Downloading SHA hash file from https://releases.hashicorp.com/terraform/0.13.4/terraform_0.13.4_SHA256SUMS
No keybase install found, skipping OpenPGP signature verification
Archive:  tfenv_download.33M9Ak/terraform_0.13.4_darwin_amd64.zip
  inflating: /usr/local/Cellar/tfenv/2.0.0/versions/0.13.4/terraform
Installation of terraform v0.13.4 successful. To make this your default version, run 'tfenv use 0.13.4'

Also nicht sicher, warum es fehlschlägt. Ich werde Mystery am besten tun, um einen Blick darauf zu werfen.

bug

Hilfreichster Kommentar

Mit dem Schlüsselwort "neueste" scheint etwas nicht zu stimmen.
Wenn ich versuche, Ihren Anwendungsfall zu reproduzieren, sieht das Ergebnis anders aus (weil auch eine 0.13.x installiert ist)

❯ tfenv --version
tfenv 2.0.0-37-g0494129
❯ cat .terraform-version
latest:^0.13

Lassen Sie installierte Versionen sehen

❯ tfenv list
* 0.13.5 (set by /home/hugosalesses/workspace/private/terraform-examples/.terraform-version)
  0.12.30
  0.11.14

Hm! 0.13.5 ist die neueste installierte 0.13-Version, aber nicht die neueste 0.13 (0.13.6)
Und die Terraform-Ausführung zeigt die gleiche falsche Version

❯ terraform version
Terraform v0.13.5

Your version of Terraform is out of date! The latest version
is 0.14.5. You can update by downloading from https://www.terraform.io/downloads.html

Ich denke, etwas muss mit dem neuesten Schlüsselwort behoben werden.

Alle 2 Kommentare

Mit dem Schlüsselwort "neueste" scheint etwas nicht zu stimmen.
Wenn ich versuche, Ihren Anwendungsfall zu reproduzieren, sieht das Ergebnis anders aus (weil auch eine 0.13.x installiert ist)

❯ tfenv --version
tfenv 2.0.0-37-g0494129
❯ cat .terraform-version
latest:^0.13

Lassen Sie installierte Versionen sehen

❯ tfenv list
* 0.13.5 (set by /home/hugosalesses/workspace/private/terraform-examples/.terraform-version)
  0.12.30
  0.11.14

Hm! 0.13.5 ist die neueste installierte 0.13-Version, aber nicht die neueste 0.13 (0.13.6)
Und die Terraform-Ausführung zeigt die gleiche falsche Version

❯ terraform version
Terraform v0.13.5

Your version of Terraform is out of date! The latest version
is 0.14.5. You can update by downloading from https://www.terraform.io/downloads.html

Ich denke, etwas muss mit dem neuesten Schlüsselwort behoben werden.

Ich stimme zu
```bash
$ TFENV_TERRAFORM_VERSION=neueste:^0.12 tfenv Exec-Version
Keine installierten Versionen von terraform stimmten mit 'latest:^0.12' überein
$ TFENV_TERRAFORM_VERSION=0.12.30 tfenv-Exec-Version
Version '0.12.30' ist nicht installiert (von TFENV_TERRAFORM_VERSION gesetzt). Jetzt installieren als TFENV_AUTO_INSTALL==true
Installieren von Terraform v0.12.30
Herunterladen des Release-Tarballs von https://releases.hashicorp.com/terraform/0.12.30/terraform_0.12.30_linux_amd64.zip

################################################ ################ 100,0%

Herunterladen der SHA-Hash-Datei von https://releases.hashicorp.com/terraform/0.12.30/terraform_0.12.30_SHA256SUMS
Keine Keybase-Installation gefunden, OpenPGP-Signaturüberprüfung wird übersprungen
Archiv: tfenv_download.nwfk3i/terraform_0.12.30_linux_amd64.zip
Aufblasen: /root/.tfenv/versions/0.12.30/terraform
Installation von terraform v0.12.30 erfolgreich. Um dies zu Ihrer Standardversion zu machen, führen Sie 'tfenv use 0.12.30' aus.
Terraform v0.12.30

Ihre Version von Terraform ist veraltet! Die neueste version
ist 0,14,9. Sie können aktualisieren, indem Sie von https://www.terraform.io/downloads.html herunterladen ```

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen