The stack upgrade
command¶
Either:
stack upgrade [--binary-only] [--binary-platform ARG] [--force-download]
[--[no-]only-local-bin] [--binary-version ARG] [--github-org ARG]
[--github-repo ARG]
or:
stack upgrade
will get a new version of Stack.
By default:
-
the new version will be from an existing binary distribution. Pass the
--source-only
flag to specify compiling from source code. The--binary-only
and--source-only
flags are alternatives; -
the new version will not overwrite the existing version unless it is newer. Pass the
--force-download
flag to force a download; -
when an existing binary distribution is applicable, it will be put in Stack's local binary directory (see
stack path --local-bin
) and namedstack
(replacing any existing executable namedstack
there); -
if the current running Stack executable is named
stack
(or, on Windows,stack.exe
) (this is case insensitive), an existing binary distribution will replace it. If the executable is located outside of Stack's local binary directory, pass the--only-local-bin
flag to skip that step; -
if the current running Stack executable is named other than
stack
(and, on Windows,stack.exe
), an existing binary distribution will only be put in Stack's local binary directory and namedstack
. Pass the--no-only-local-bin
flag to replace also the current running executable; -
the new version will be the latest available. Pass the
--binary-version <version>
option to specify the version (this implies--force-download
); -
the binary distribution will be sought from the GitHub organisation/user
commercialhaskell
. Pass the--github-org <user>
option to specify a different GitHub user; -
the binary distribution will be sought from the GitHub repository
stack
. Pass the--github-repo <repository>
option to specify a different repository; and -
the binary distribution will be sought for the current platform. Pass the
--binary-platform <platform>
option to specify a different platform (<operating_system>-<architecture>-<suffix>
).
When compiling from source code, by default:
- Stack will obtain the source code for the most recent version in the package
index (eg Hackage). Pass the flag
--git
to specify the most recent version from themaster
branch of Stack's repository (pass the option--git-branch <branch>
to specify a different branch and the option--git-repo <repo_url>
to specify a different repository).
Examples¶
-
stack upgrade
seeks an upgrade to the latest version of Stack available as a binary distribution for the platform, if newer. -
stack upgrade --force-download
seeks an upgrade to the latest version of Stack available as a binary distribution for the platform, even if not newer. -
If the Stack executable is named
my-stack
,my-stack upgrade
seeks only to put the latest version of Stack available as a binary distribution for the platform, if newer, in Stack's local binary directory and name itstack
.my-stack upgrade --no-only-local-bin
seeks also to upgrademy-stack
to the latest version of Stack available. -
stack upgrade --binary-version 2.11.1
seeks an upgrade to Stack 2.11.1 if available as a binary distribution for the platform, even if not newer. -
stack upgrade --source-only
seeks an upgrade by building Stack with Stack from the latest version of the source code in the package index (i.e. Hackage). -
stack upgrade --source-only --git
seeks an upgrade by building Stack with Stack from the latest version of the source code in themaster
branch of Stack's repository.