diff --git a/site/download.md b/site/download.md index db2418712..bc9ba554e 100644 --- a/site/download.md +++ b/site/download.md @@ -15,8 +15,8 @@ td:first-of-type { a { white-space:nowrap; } -Packaged versions are the quickest to install, but they sometimes lag behind the -latest release, or provide only some of the hledger tools. +Packaged versions are the quickest to install, +but they can be out of date or incomplete. | |----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ @@ -36,11 +36,29 @@ latest release, or provide only some of the hledger tools. ## B. I want to build the latest release The latest release (see [release notes](release-notes.html)) is a good choice. -You have to build it, but this is relatively easy: -1. **Install [`stack`](http://haskell-lang.org/get-started)**\ +On POSIX systems (mac/linux/freebsd..), use our new hassle-free installer +to get the current release of hledger and related tools. +Here's the more secure way: + + **`curl -sSLO http://hledger.org/hledger-install.sh`** *# (or `wget -qO- ...`; or fetch it from [github](https://github.com/simonmichael/hledger/blob/master/hledger-install/hledger-install.sh))* \ + **`less hledger-install.sh`** *# (do security review)* \ + **`bash hledger-install.sh`** *# (add `-v` for more detail; use `bash -x` to show commands being run)* + +and here's the less secure, more convenient way: + + **`curl -sSL http://hledger.org/hledger-install.sh | bash`** + +Note this could take significant time (minutes to hours), memory (~2G), +and disk space (up to a gigabyte) depending on your connection, +machine and past cabal/stack installations. You can kill and rerun it without losing progress. +If the installer fails, please help improve it by [reporting](docs.html#get-helpgive-feedback) the full output. + +Or, you can install manually (all systems): + +1. **Install [haskell `stack`](http://haskell-lang.org/get-started)**\ \ - Avoid using versions older than 1.0 which give ["Invalid package ID" errors](https://github.com/simonmichael/hledger/issues/513); + Avoid using versions older than 1.0, which give ["Invalid package ID" errors](https://github.com/simonmichael/hledger/issues/513); latest version is good.\ On Windows, the 64-bit version is [recommended](https://github.com/simonmichael/hledger/issues/275#issuecomment-123834252).\ On Arch, you [may need to also install GHC manually](https://github.com/simonmichael/hledger/issues/434).\ @@ -48,16 +66,14 @@ You have to build it, but this is relatively easy: Eg if you're a bash user:\   `echo "export PATH=$PATH:~/.local/bin" >> ~/.bashrc && source ~/.bashrc` -2. **`stack install --resolver lts-8 hledger-lib-1.3 hledger-1.3 [hledger-ui-1.3] [hledger-web-1.3] [hledger-api-1.3]`**\ +2. **`stack install --install-ghc --resolver lts-8 hledger-lib-1.3 hledger-1.3 [hledger-ui-1.3] [hledger-web-1.3] [hledger-api-1.3]`**\ \ - This command installs the specified hledger packages (and required haskell libraries and tools) from the latest [Stackage LTS](https://www.stackage.org) snapshot (and if needed, [Hackage](http://hackage.haskell.org)). - It is reliable, but can take significant time (minutes to hours) and space (megabytes to a gigabyte) depending on your connection, machine and past installations. + This command installs the specified hledger packages (and required haskell libraries and tools) from [Stackage](https://www.stackage.org) (and if needed, [Hackage](http://hackage.haskell.org)). + As noted above, it can take a while. You can add `--dry-run` to see what it plans to do, and kill/restart it without losing progress.\ You can omit the bracketed packages to save time, and maybe install them later. If you include them, don't type the brackets. hledger-ui is [not yet available on Windows](https://github.com/jtdaugherty/vty/pull/1#issuecomment-297143444).\ - - If it says you need to run `stack setup`, do that then run the install command again.\ - If it gives "Invalid package ID" errors, get a newer version of stack (see step 1).\ + If it gives "Invalid package ID" errors, get a newer version of stack.\ If you're a [cabal](https://www.haskell.org/cabal/) expert, feel free to use that instead of stack.\ If you get errors due to missing C libraries (like curses or terminfo), install those manually, eg: @@ -68,37 +84,14 @@ You have to build it, but this is relatively easy: If you need to build with an older GHC version for some reason, these commands should work (except on Mac Sierra which [requires at least GHC 8.0.2/lts-8](https://ghc.haskell.org/trac/ghc/ticket/12479)):\ - `stack install --resolver lts-7 hledger-lib-1.3 hledger-1.3 hledger-ui-1.3 hledger-web-1.3 hledger-api-1.3 brick-0.19 vty-5.15.1 data-clist-0.1.2.0` # GHC 8.0.1 \ - `stack install --resolver lts-6 hledger-lib-1.3 hledger-1.3 hledger-ui-1.3 hledger-web-1.3 hledger-api-1.3 megaparsec-5.3.1 brick-0.19 vty-5.15.1 data-clist-0.1.2.0 text-zipper-0.10` # GHC 7.10.3 \ + `stack install --resolver lts-7 hledger-lib-1.3 hledger-1.3 hledger-ui-1.3 hledger-web-1.3 hledger-api-1.3 brick-0.19 vty-5.15.1 data-clist-0.1.2.0` *# (GHC 8.0.1)* \ + `stack install --resolver lts-6 hledger-lib-1.3 hledger-1.3 hledger-ui-1.3 hledger-web-1.3 hledger-api-1.3 megaparsec-5.3.1 brick-0.19 vty-5.15.1 data-clist-0.1.2.0 text-zipper-0.10` *# (GHC 7.10.3)* \ Now you should be able to run `hledger --version` (and `hledger-ui --version`, `hledger-web --version` etc. if you installed those) and see the version you just installed. - - - -