site: download: recommend the install script; cleanups

This commit is contained in:
Simon Michael 2017-07-21 09:33:07 +01:00
parent f20592e10c
commit 7e9e29a942

View File

@ -15,8 +15,8 @@ td:first-of-type {
a { white-space:nowrap; } a { white-space:nowrap; }
</style> </style>
Packaged versions are the quickest to install, but they sometimes lag behind the Packaged versions are the quickest to install,
latest release, or provide only some of the hledger tools. 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 ## B. I want to build the latest release
The latest release (see [release notes](release-notes.html)) is a good choice. 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.\ latest version is good.\
On Windows, the 64-bit version is [recommended](https://github.com/simonmichael/hledger/issues/275#issuecomment-123834252).\ 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).\ 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:\ Eg if you're a bash user:\
&nbsp;&nbsp;`echo "export PATH=$PATH:~/.local/bin" >> ~/.bashrc && source ~/.bashrc` &nbsp;&nbsp;`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)). 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)).
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. 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 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. 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).\ hledger-ui is [not yet available on Windows](https://github.com/jtdaugherty/vty/pull/1#issuecomment-297143444).\
<!-- You can try removing `--resolver lts-8` to save time, if your default snapshot (in $HOME/.stack/global/stack.yaml) is lts-8.x or newer.\ --> If it gives "Invalid package ID" errors, get a newer version of stack.\
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 you're a [cabal](https://www.haskell.org/cabal/) expert, feel free to use that instead 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: 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 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)):\ (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-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-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)* \
<!-- keep synced with stack.yaml files --> <!-- keep synced with stack.yaml files -->
Now you should be able to run `hledger --version` Now you should be able to run `hledger --version`
(and `hledger-ui --version`, `hledger-web --version` etc. if you installed those) (and `hledger-ui --version`, `hledger-web --version` etc. if you installed those)
and see the version you just installed. and see the version you just installed.
<!--(The exact steps depend on your OS, cabal version and expertise.)-->
<!--
Short version:\
`cabal update && cabal install hledger [hledger-ui] [hledger-web] [hledger-api]`
-->
<!--
If you're brand new to cabal, these steps should work on unix-like systems
(on Windows, adjust commands and paths as needed):
1. Install [GHC](http://haskell.org/ghc) and [cabal](http://haskell.org/cabal/download.html) if needed,
eg from [https://www.haskell.org/downloads](https://www.haskell.org/downloads)
2. Ensure `~/.cabal/bin` or the Windows equivalent is in your `$PATH`,
eg `echo "export PATH=$PATH:~/.cabal/bin" >> ~/.bashrc && source ~/.bashrc`
3. `cabal update`
4. `cabal install alex happy`
5. `mkdir hledger-sandbox`
6. `cd hledger-sandbox`
7. `cabal sandbox init`
8. `cabal install hledger-1.0.1 [hledger-ui-1.0.2] [hledger-web-1.0.1] [hledger-api-1.0]`
9. `mv .cabal-sandbox/bin/hledger* ~/.cabal/bin`
10. `cd ..; rm -rf hledger-sandbox`
-->
<a name="c"></a> <a name="c"></a>