site: download: recommend the install script; cleanups
This commit is contained in:
		
							parent
							
								
									f20592e10c
								
							
						
					
					
						commit
						7e9e29a942
					
				| @ -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:\ | ||||||
|      `echo "export PATH=$PATH:~/.local/bin" >> ~/.bashrc && source ~/.bashrc` |      `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> | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user