The Paket bootstrapper (paket.bootstrapper.exe)
The bootstrapper downloads the latest stable
paket.exe. By default, the
bootstrapper caches downloaded versions of
paket.exe for the current user
across all projects. If the requested version is not present in the cache, it is
downloaded from github.com. If the download from GitHub
fails it tries to download the version from nuget.org
Cached versions of
paket.exe are removed when the NuGet cache directory is
On the command line
prerelease: Download the latest
paket.exefrom GitHub, including prerelease versions.
<version>: Download the given version of
paket.exefrom nuget.org instead of GitHub. Uses GitHub as a fallback, if the download from nuget.org fails.
--force-nuget: Similar to
--prefer-nuget, but won't use use GitHub.com as a fallback.
--max-file-age=120: Skip download if
paket.exealready exists and it is not older than
--nuget-source=<URL>: When specified as
--nuget-source=http://example.com/path/here, the specified URL is used instead of the default nuget.org download URL when trying to fetch
paket.exeas a NuGet package. Combine this with either
paket.exefrom a custom source.
--self: Self-update the
paket.bootstrapper.exe. When this option is used the download of
paket.exewill be skipped. Can be combined with
-s: Make the bootstrapper more silent. Use it once to display only errors or twice to supress all output.
-v: Make the bootstrapper more verbose. Display more information about the boostrapper process, including operation timings.
-f: Force the bootstrapper to ignore any cached
paket.exeversions and go directly to GitHub or nuget.org, based on other flags.
--run: Once downloaded run
paket.exe. All arguments following this one are ignored and passed directly to
--config-file=<config-file-path>: Forces the bootstrapper to use another config file instead of the default
--help: Show help detailing all possible options.
In application settings
If present, the
paket.bootstrapper.exe.config file can be used to configure
default options. When an option is passed on the command line, the corresponding
application setting is ignored.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
PreferNuget: Same as
ForceNuget: Same as
Prerelease: Same as
PaketVersion: Same as
BootstrapperOutputDir: Same as
With environment variables
PAKET_VERSION: The requested version can also be set using this environment
$env:PAKET_VERSION = "5.119.7"
paket.dependencies file is found in the current
directory it may contain a special line containing options for the bootstrapper.
The line must start with
version followed by a requested
and optionally other bootstrapper command line arguments:
1: 2: 3: 4: 5:
1: 2: 3: 4: 5:
paket.bootstrapper.exe is renamed to
paket.exe, the real
downloaded to a temporary location and executed with all arguments passed
Executes the same thing as:
Using this feature Paket usage may be simplified by committing a ~50KB
paket.exe to source control and using it directly. The fact that a
bootstrapper exists is completely hidden and becomes an implementation detail
that contributors to your repository won't have to know — or care — about.
While bootstrapper command line options can't be used, the other sources
(application settings, environment variables and paket.dependencies) may still
be used to configure the bootstrapper. The only difference is that the
application settings file should be named
paket.exe.config rather than
To self update the bootstrapper in magic mode you can run:
A few default settings are applied:
The bootstrapper is silenced and only errors are displayed.
-vcan be used once to restore normal output or twice to show more details.
- If no version is specified a default
12hours is used.
Note about anti virus and magic mode:
If your anti virus is too aggressive, and must have paket excluded, it will not
be fully excluded unless you change the
BoostrapperOutputDir to a folder that
is excluded from the anti virus scanner, e.g. a sub folder inside the repository
of the project utilizing magic mode.