site: download: latest refinements, cleanups
[ci skip]
This commit is contained in:
		
							parent
							
								
									d9488ea01b
								
							
						
					
					
						commit
						1b3c04e348
					
				
							
								
								
									
										124
									
								
								site/download.md
									
									
									
									
									
								
							
							
						
						
									
										124
									
								
								site/download.md
									
									
									
									
									
								
							| @ -25,14 +25,14 @@ Packaged versions are the quickest to install, but they sometimes lag behind the | |||||||
| latest release, or provide only some of the hledger tools. (Packagers welcome!) | latest release, or provide only some of the hledger tools. (Packagers welcome!) | ||||||
| 
 | 
 | ||||||
| | | | | ||||||
| |---------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ||||||
| | **Windows:**        | Download and run the [latest development builds](developer-guide.html) (-> Appveyor CI) | | Windows:             | see B below <!-- Download and run the [latest development builds](developer-guide.html) (-> Appveyor CI) --> | ||||||
| | **Mac:**            | `brew install hledger` | | Mac:                 | **`brew install hledger`** | ||||||
| | **Debian, Ubuntu:** | `sudo apt install hledger hledger-ui hledger-web` | | Debian, Ubuntu: | **`sudo apt install hledger hledger-ui hledger-web`** | ||||||
| | **Fedora, RHEL:**   | `sudo dnf install hledger` | | Fedora, RHEL:   | **`sudo dnf install hledger`** | ||||||
| | **Gentoo:**         | `sudo layman -a haskell && sudo emerge hledger hledger-ui hledger-web` | | Gentoo:              | **`sudo layman -a haskell && sudo emerge hledger hledger-ui hledger-web`** | ||||||
| | **NixOS:**          | `nix-env -iA nixpkgs.haskellPackages.hledger \`<br>  `nixpkgs.haskellPackages.hledger-ui \`<br>  `nixpkgs.haskellPackages.hledger-web` | | NixOS:               | **`nix-env -iA nixpkgs.haskellPackages.hledger \`<br>  `nixpkgs.haskellPackages.hledger-ui \`<br>  `nixpkgs.haskellPackages.hledger-web`** | ||||||
| | **Sandstorm:**      | [hledger-web Sandstorm app](https://apps.sandstorm.io/app/8x12h6p0x0nrzk73hfq6zh2jxtgyzzcty7qsatkg7jfg2mzw5n90) -> demo<br>(your own fully-functional private/public hledger-web instance in 3 clicks) | | Sandstorm:           | **[hledger-web Sandstorm app](https://apps.sandstorm.io/app/8x12h6p0x0nrzk73hfq6zh2jxtgyzzcty7qsatkg7jfg2mzw5n90) -> demo**<br>(get your own private or public hledger-web instance in 3 clicks) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| <a name="b"></a> | <a name="b"></a> | ||||||
| @ -40,31 +40,43 @@ latest release, or provide only some of the hledger tools. (Packagers welcome!) | |||||||
| ## 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 that's pretty easy.  | You have to build it, but normally that should be quite easy: | ||||||
| 
 | 
 | ||||||
| 1. Install [`stack`](http://haskell-lang.org/get-started). | 1. **Install [`stack`](http://haskell-lang.org/get-started)**\ | ||||||
|    On Windows, the 64-bit version is [recommended](https://github.com/simonmichael/hledger/issues/275#issuecomment-123834252). |    Note some packaged versions of stack are too old and will give ["Invalid package ID"](https://github.com/simonmichael/hledger/issues/513) in step 2 | ||||||
|  |    (and their builtin "upgrade" command will be slow); in this case consider downloading the binary instead.\ | ||||||
|  |    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).\ | ||||||
|    <small>(If you're a [`cabal`](https://www.haskell.org/cabal/) expert, feel free to use that instead, adapting these instructions appropriately.)</small> |    You should also add [~/.local/bin (or Windows equivalent)](https://docs.haskellstack.org/en/stable/install_and_upgrade/#path) | ||||||
|  |    to your \$PATH so that you can easily run stack-installed tools. | ||||||
|  |    Eg if you're a bash user:\ | ||||||
|  |    `echo "export PATH=$PATH:~/.local/bin" >> ~/.bashrc && source ~/.bashrc` | ||||||
| 
 | 
 | ||||||
| 
 | 2. **`stack install hledger-lib-1.2 hledger-1.2 [hledger-ui-1.2] [hledger-web-1.2] [hledger-api-1.2]`**\    | ||||||
| 2. `stack install --resolver=nightly hledger [hledger-ui] [hledger-web] [hledger-api]`\ |    Note specifying the version as above forces stack to select exactly this version,  | ||||||
|    Note you don't type the square brackets; they mean "this bit is optional". |    which is sometimes necessary just after a release; | ||||||
|    So eg if you don't care about the web tools, you would type `stack install --resolver=nightly hledger hledger-ui`\ |    at other times the following command may be preferable  | ||||||
|    On Windows, hledger-ui is [not yet available](https://github.com/coreyoconnor/vty/pull/1).\ |    [to](https://www.stackage.org/package/hledger-lib) | ||||||
|  |    [get](https://www.stackage.org/package/hledger) | ||||||
|  |    [any](https://www.stackage.org/package/hledger-ui) | ||||||
|  |    [newer](https://www.stackage.org/package/hledger-web) | ||||||
|  |    [versions](https://www.stackage.org/package/hledger-api):\ | ||||||
|  |    `stack install --resolver=nightly hledger [hledger-ui] [hledger-web] [hledger-api]`\ | ||||||
|    If stack says you need to run `stack setup`, do that first.\ |    If stack says you need to run `stack setup`, do that first.\ | ||||||
|    Warnings about "No packages found in snapshot which provide a "hsc2hs" executable" can be ignored.\ |    Don't type the square brackets; they mean that hledger-ui etc. are optional.\ | ||||||
|    If required C libraries (like curses) are not installed, you might need to install those manually and try again, eg: |    On Windows, hledger-ui is [not yet available](https://github.com/coreyoconnor/vty/pull/1).\ | ||||||
|  |    If required C libraries (like curses or terminfo) are not installed, you might need to install those manually and try again. | ||||||
|  |    Eg: | ||||||
| 
 | 
 | ||||||
|     | |     | | ||||||
|     |--------------------|----------------------------------- |     |-----------------|----------------------------------- | ||||||
|     | **Debian, Ubuntu:** | `sudo apt install libncurses5-dev`  |     | Debian, Ubuntu: | `sudo apt install libncurses5-dev`  | ||||||
|     | **Fedora, RHEL:**   | `sudo dnf install ncurses-devel` |     | Fedora, RHEL:   | `sudo dnf install ncurses-devel` | ||||||
|  |     | ||||||
|  | If you're a [`cabal`](https://www.haskell.org/cabal/) expert, feel free to use that instead of stack, adapting these instructions appropriately. | ||||||
|  | 
 | ||||||
|  | Now you should be able to run `hledger --version`, `hledger-ui --version` etc. | ||||||
| 
 | 
 | ||||||
| 3. If stack warns that `~/.local/bin` (or the Windows equivalent) is not in `$PATH`, fix that. |  | ||||||
|    Eg if you're a bash user:\ |  | ||||||
|    `echo "export PATH=$PATH:~/.local/bin" >> ~/.bashrc && source ~/.bashrc`\ |  | ||||||
|    Now you can run `hledger --version`, `hledger-ui --version` etc. |  | ||||||
| 
 | 
 | ||||||
| <!--(The exact steps depend on your OS, cabal version and expertise.)--> | <!--(The exact steps depend on your OS, cabal version and expertise.)--> | ||||||
| <!-- | <!-- | ||||||
| @ -96,16 +108,11 @@ If you're brand new to cabal, these steps should work on unix-like systems | |||||||
| 
 | 
 | ||||||
| The [dev version](https://github.com/simonmichael/hledger/commits/master) includes not-yet-released features and is stable enough for daily use. | The [dev version](https://github.com/simonmichael/hledger/commits/master) includes not-yet-released features and is stable enough for daily use. | ||||||
| 
 | 
 | ||||||
| 1. Install [`stack`](http://haskell-lang.org/get-started) (see above) and [git](https://en.wikipedia.org/wiki/Git) | 1. **Install [`stack`](http://haskell-lang.org/get-started) and [git](https://en.wikipedia.org/wiki/Git)** | ||||||
| 2. `git clone http://code.hledger.org hledger` |    (see notes in B above) | ||||||
| 3. `cd hledger` | 2. **`git clone http://code.hledger.org hledger`** | ||||||
| 4. `stack install`\ | 3. **`cd hledger`** | ||||||
|    with the same caveats as mentioned above: | 4. **`stack install`** | ||||||
|      |  | ||||||
|     - if stack says you need to run `stack setup`, do that first, |  | ||||||
|     - if building fails due to missing C libs, install those first  |  | ||||||
|     - if stack warns that `~/.local/bin` (or the Windows equivalent) is not in `$PATH`, fix that |  | ||||||
|     - warnings about "No packages found in snapshot which provide a hsc2hs executable" can be ignored |  | ||||||
| 
 | 
 | ||||||
| Cabal users can use the `cabal-install.sh` or `cabal.project` files instead. | Cabal users can use the `cabal-install.sh` or `cabal.project` files instead. | ||||||
| 
 | 
 | ||||||
| @ -114,39 +121,18 @@ Cabal users can use the `cabal-install.sh` or `cabal.project` files instead. | |||||||
| 
 | 
 | ||||||
| ## D. I want to install all add-on commands | ## D. I want to install all add-on commands | ||||||
| 
 | 
 | ||||||
| Some experimental commands are not built in to hledger, but | Additional [add-on commands](http://hledger.org/hledger.html#add-on-commands) can be installed with stack  | ||||||
| [included in the source](https://github.com/simonmichael/hledger/tree/master/bin) as | (hledger-diff, | ||||||
| [add-on commands](http://hledger.org/hledger.html#add-on-commands), such as:\ | hledger-iadd, | ||||||
| `chart`, | hledger-interest, | ||||||
| `check-dates`, | hledger-irr), as in B above. | ||||||
| `check-dupes`, | Eg: `stack install hledger-iadd-1.2.1` or `stack install --resolver nightly hledger-iadd`. | ||||||
| `equity`, |  | ||||||
| `print-unique`, |  | ||||||
| `register-match`, |  | ||||||
| `rewrite`. |  | ||||||
| 
 | 
 | ||||||
| To install these and make them available in hledger's commands list: | Others, more experimental, are [included](https://github.com/simonmichael/hledger/tree/master/bin) | ||||||
|  | in the hledger source repo; to install these: | ||||||
| 
 | 
 | ||||||
| 1. Install [`stack`](http://haskell-lang.org/get-started) and [git](https://en.wikipedia.org/wiki/Git) (see above) | 1. **Download the hledger source code** (as in C above) | ||||||
| 2. `git clone http://code.hledger.org hledger` (as above) | 2. **In the hledger directory, run `bin/compile.sh`** (installs dependencies, compiles for speed) | ||||||
| 3. `cd hledger` | 3. **Add the `hledger/bin/` directory to your `$PATH`** (as in B above) | ||||||
| 4. `bin/compile.sh` (optional, makes them start faster) |  | ||||||
| 5. add the hledger `bin/` directory to your `$PATH` |  | ||||||
| 
 | 
 | ||||||
| There is also a `hledger-autosync` symbolic link showing how to make | Now you should be able to run `hledger iadd --version`, `hledger check --help` etc. | ||||||
| the [ledger-autosync](https://gitlab.com/egh/ledger-autosync) tool available |  | ||||||
| as a hledger command. |  | ||||||
| 
 |  | ||||||
| Other commands are published as separate packages:\ |  | ||||||
| `hledger-diff`, |  | ||||||
| `hledger-iadd`, |  | ||||||
| `hledger-interest`, |  | ||||||
| `hledger-irr`. |  | ||||||
| 
 |  | ||||||
| Some are available in Stackage and can be installed with stack as in B above: |  | ||||||
| 
 |  | ||||||
| `stack install --resolver nightly hledger-iadd hledger-interest` |  | ||||||
| 
 |  | ||||||
| Others are available only on Hackage, so you must specify the Hackage version number. Eg: |  | ||||||
| 
 |  | ||||||
| `stack install hledger-diff-0.2.0.7 hledger-irr-0.1.1.10` |  | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user