4.6 KiB
layout | sidebar_current | page_title | description |
---|---|---|---|
intro | intro-getting-started-install | Install Packer - Getting Started | Packer must first be installed on the machine you want to run it on. To make installation easier, Packer is distributed as a binary package for all supported platforms and architectures. This page will not cover how to compile Packer from source, as that is covered in the README and is only recommended for advanced users. |
Install Options
Packer may be installed in the following ways:
-
Using a precompiled binary; We release binaries for all supported platforms and architectures. This method is recommended for most users.
-
Installing from source This method is only recommended for advanced users.
-
An unoffical alternative installation method
Precompiled Binaries
To install the precompiled binary, download the appropriate package for your system. Packer is currently packaged as a zip file. We do not have any near term plans to provide system packages.
Next, unzip the downloaded package into a directory where Packer will be
installed. On Unix systems, ~/packer
or /usr/local/packer
is generally good,
depending on whether you want to restrict the install to just your user or
install it system-wide. If you intend to access it from the command-line, make
sure to place it somewhere on your PATH
before /usr/sbin
. On Windows
systems, you can put it wherever you'd like. The packer
(or packer.exe
for
Windows) binary inside is all that is necessary to run Packer. Any additional
files aren't required to run Packer.
After unzipping the package, the directory should contain a single binary
program called packer
. The final step to
installation is to make sure the directory you installed Packer to is on the
PATH. See this
page
for instructions on setting the PATH on Linux and Mac. This
page
contains instructions for setting the PATH on Windows.
Compiling from Source
To compile from source, you will need Go installed and
configured properly as well as a copy of git
in your PATH
.
-
Clone the Packer repository from GitHub into your
GOPATH
:$ mkdir -p $(go env GOPATH)/src/github.com/hashicorp && cd $_ $ git clone https://github.com/hashicorp/packer.git $ cd packer
-
Build Packer for your current system and put the binary in
./bin/
(relative to the git checkout). Themake dev
target is just a shortcut that buildspacker
for only your local build environment (no cross-compiled targets).$ make dev
Verifying the Installation
After installing Packer, verify the installation worked by opening a new command
prompt or console, and checking that packer
is available:
$ packer
usage: packer [--version] [--help] <command> [<args>]
Available commands are:
build build image(s) from template
fix fixes templates from old versions of packer
inspect see components of a template
push push template files to a Packer build service
validate check that a template is valid
version Prints the Packer version
If you get an error that packer
could not be found, then your PATH environment
variable was not setup properly. Please go back and ensure that your PATH
variable contains the directory which has Packer installed.
Otherwise, Packer is installed and you're ready to go!
Alternative Installation Methods
While the binary packages is the only official method of installation, there are alternatives available.
Homebrew
If you're using OS X and Homebrew, you can install Packer by running:
$ brew install packer
Chocolatey
If you're using Windows and Chocolatey, you can install Packer by running:
choco install packer
Troubleshooting
On some RedHat-based Linux distributions there is another tool named packer
installed by default. You can check for this using which -a packer
. If you get
an error like this it indicates there is a name conflict.
$ packer
/usr/share/cracklib/pw_dict.pwd: Permission denied
/usr/share/cracklib/pw_dict: Permission denied
To fix this, you can create a symlink to packer that uses a different name like
packer.io
, or invoke the packer
binary you want using its absolute path,
e.g. /usr/local/packer
.