| --- |
| description: | |
| The `packer fix` command takes a template and finds backwards incompatible |
| parts of it and brings it up to date so it can be used with the latest version |
| of Packer. After you update to a new Packer release, you should run the fix |
| command to make sure your templates work with the new release. |
| page_title: packer fix - Commands |
| --- |
| |
| # `fix` Command |
| |
| -> **Note** This command is not available on HCL2 templates yet, it will be added when we need to introduce the first 'fix'. |
| |
| The `packer fix` command takes a template and finds backwards incompatible |
| parts of it and brings it up to date so it can be used with the latest version |
| of Packer. After you update to a new Packer release, you should run the fix |
| command to make sure your templates work with the new release. |
| |
| The fix command will output the changed template to standard out, so you should |
| redirect standard out using standard OS-specific techniques if you want to save it |
| to a file. For example, on Linux systems, you may want to do this: |
| |
| ```shell-session |
| $ packer fix old.json > new.json |
| ``` |
| |
| If fixing fails for any reason, the fix command will exit with a non-zero exit |
| status. Error messages appear on standard error, so if you're redirecting |
| output, you'll still see error messages. |
| |
| -> **Even when Packer fix doesn't do anything** to the template, the |
| template will be outputted to standard out. Things such as configuration key |
| ordering and indentation may be changed. The output format however, is |
| pretty-printed for human readability. |
| |
| The full list of fixes that the fix command performs is visible in the help |
| output, which can be seen via `packer fix -h`. |
| |
| ## Options |
| |
| - `-validate=false` - Disables validation of the fixed template. True by |
| default. |