pre-commit
pre-commit copied to clipboard
"terraform-validate", "terraform-fmt" fails with "command not found" in Linux-based systems due to ^M carriage return character
Describe the bug
"pre-commit run terraform-validate --all-files" command fails until I follow Remove the spurious CR characters steps to use sed to remove "The ^M is a carriage return character":

To Reproduce Steps to reproduce the behavior including the relevant Terraform/Terragrunt/Packer version number and any code snippets and module inputs you used.
- Install pre-commit in Mac OS or some linux flavor OS (Ubuntu, etc.) & create a
.pre-commit-config.yamlas defined in Pre-commit README.md > General Usage - Run
pre-commit run terraform-validate --all-files - See failures, now run
sed -i -e 's/\r$//' /Users/arriaga/.cache/pre-commit/repo57cjvft5/hooks/terraform-validate.sh - Re-try
pre-commit run terraform-validate --all-filesand see how errors g oaway
Expected behavior Maybe pre-commit hooks should avoid having the "^M" carriage return character?
Additional context Tried to follow "Step 3 - Static Analysis" steps of Getting Started with Terraform on Azure: Testing blog article
Any update?
Hi Mario, thanks for the bug report! It looks like you've already figured out the fix - would you mind submitting a quick PR?
I have the same issue with terraform-fmt in pre-commit v0.1.17. The solution of @MarioArriaga92 worked.