2015-07-23 01:19:41 +03:00
< div style = "float:right; text-align:right; white-space:nowrap; " >
2016-02-21 23:39:32 +03:00
< a style = "margin-left:3px;" href = "https://flattr.com/submit/auto?user_id=simonmichael&url=http%3A%2F%2Fhledger.org" target = "_blank" > < img src = "//api.flattr.com/button/flattr-badge-large.png" alt = "" title = "Flattr this" border = "0" > < / a >
< a href = "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5J33NLXYXCYAY" > < img width = 62 height = 31 border = 0 src = "https://www.paypal.com/en_US/i/btn/x-click-but04.gif" alt = "" > < / a >
< div style = "display:inline-block; position:relative; top:5px; width:62px; height:31px;" >
2015-07-23 01:19:41 +03:00
< script data-gratipay-username = "simonmichael" data-gratipay-widget = "button" src = "//grtp.co/v1.js" > < / script >
< / div >
2016-02-21 23:39:32 +03:00
< a href = "https://www.bountysource.com/trackers/536505-simonmichael-hledger" > < img border = 0 src = "https://www.bountysource.com/badge/tracker?tracker_id=536505" alt = "" > < / a >
2015-07-29 03:30:17 +03:00
< / div >
2015-11-04 05:59:12 +03:00
# Download
2016-10-30 16:38:33 +03:00
< a name = "a" > < / a >
2015-11-10 01:10:59 +03:00
2016-09-15 03:20:07 +03:00
## A. I want to download a packaged version
2014-11-05 08:18:13 +03:00
2015-07-23 17:05:28 +03:00
< style >
tr { vertical-align:top; }
2016-02-21 23:39:32 +03:00
td { padding-bottom:.5em; padding-right:1em; }
2016-09-13 22:08:37 +03:00
td:first-of-type {
/* white-space:nowrap; */
/* width:1%; */
}
a { white-space:nowrap; }
2015-07-23 17:05:28 +03:00
< / style >
2016-11-12 20:40:04 +03:00
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!)
2014-11-11 00:38:05 +03:00
2016-10-30 16:38:33 +03:00
|
|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2016-10-30 17:10:35 +03:00
| **Windows:** | Download and run the [latest development builds ](developer-guide.html ) (-> Appveyor CI)
| **Mac:** | `brew install hledger`
2016-10-30 16:51:57 +03:00
| **Debian, Ubuntu:** | `sudo apt install hledger hledger-ui hledger-web`
2016-10-30 17:10:35 +03:00
| **Fedora, RHEL:** | `sudo dnf install hledger`
2016-10-30 16:38:33 +03:00
| **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`
2016-10-31 20:48:20 +03:00
| **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)
2014-11-13 05:02:40 +03:00
2016-10-30 17:10:35 +03:00
2016-10-30 16:38:33 +03:00
< a name = "b" > < / a >
2015-11-10 01:10:59 +03:00
2016-10-30 16:38:33 +03:00
## B. I want to build the latest release
2014-11-11 00:38:05 +03:00
2017-01-08 22:00:10 +03:00
The latest release (see [release notes ](release-notes.html )) is a good choice.
2016-10-30 16:38:33 +03:00
You have to build it, but that's pretty easy.
2015-07-22 23:58:10 +03:00
2016-10-30 16:38:33 +03:00
1. Install [`stack` ](http://haskell-lang.org/get-started ).
2016-09-13 19:29:23 +03:00
On Windows, the 64-bit version is [recommended ](https://github.com/simonmichael/hledger/issues/275#issuecomment-123834252 ).
2017-01-08 22:12:18 +03:00
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 >
2016-09-13 19:00:17 +03:00
2016-12-26 16:48:51 +03:00
2. `stack install --resolver=nightly hledger [hledger-ui] [hledger-web] [hledger-api]` \
2017-02-02 22:47:36 +03:00
Note you don't type the square brackets; they mean "this bit is optional".
So eg if you don't care about the web tools, you would type `stack install --resolver=nightly hledger hledger-ui` \
2016-10-30 16:38:33 +03:00
On Windows, hledger-ui is [not yet available ](https://github.com/coreyoconnor/vty/pull/1 ).\
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.\
If required C libraries (like curses) are not installed, you might need to install those manually and try again, eg:
2016-09-13 19:00:17 +03:00
2016-10-30 16:38:33 +03:00
|
|--------------------|-----------------------------------
| **Debian, Ubuntu:** | `sudo apt install libncurses5-dev`
| **Fedora, RHEL:** | `sudo dnf install ncurses-devel`
2016-09-13 19:00:17 +03:00
2016-10-30 16:38:33 +03:00
3. If stack warns that `~/.local/bin` (or the Windows equivalent) is not in `$PATH` , fix that.
2016-09-13 19:00:17 +03:00
Eg if you're a bash user:\
2016-10-30 16:38:33 +03:00
`echo "export PATH=$PATH:~/.local/bin" >> ~/.bashrc && source ~/.bashrc` \
Now you can run `hledger --version` , `hledger-ui --version` etc.
2016-09-13 19:00:17 +03:00
2016-10-30 16:38:33 +03:00
<!-- (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):
2016-09-13 19:00:17 +03:00
2016-10-30 16:38:33 +03:00
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`
2016-10-30 17:10:35 +03:00
8. `cabal install hledger-1.0.1 [hledger-ui-1.0.2] [hledger-web-1.0.1] [hledger-api-1.0]`
2016-10-30 16:38:33 +03:00
9. `mv .cabal-sandbox/bin/hledger* ~/.cabal/bin`
10. `cd ..; rm -rf hledger-sandbox`
-->
2015-07-14 07:56:39 +03:00
2016-10-30 16:38:33 +03:00
< a name = "c" > < / a >
2016-09-13 19:00:17 +03:00
2016-10-31 20:48:20 +03:00
## C. I want to build the development version
2016-09-13 19:00:17 +03:00
2016-10-31 20:48:20 +03:00
The [dev version ](https://github.com/simonmichael/hledger/commits/master ) includes not-yet-released features and is stable enough for daily use.
2016-09-13 19:00:17 +03:00
2017-01-08 22:00:10 +03:00
1. Install [`stack` ](http://haskell-lang.org/get-started ) (see above) and [git ](https://en.wikipedia.org/wiki/Git )
2016-09-15 03:20:07 +03:00
2. `git clone http://code.hledger.org hledger`
3. `cd hledger`
2016-10-30 17:10:35 +03:00
4. `stack install` \
with the same caveats as mentioned above:
- 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
2016-10-30 20:29:22 +03:00
Cabal users can use the `cabal-install.sh` or `cabal.project` files instead.
2016-09-13 19:00:17 +03:00
2017-01-08 22:00:10 +03:00
< a name = "d" > < / a >
2016-02-21 03:59:56 +03:00
2017-01-08 22:00:10 +03:00
## D. I want to install all add-on commands
2017-01-08 22:12:18 +03:00
Some experimental commands are not built in to hledger, but
[included in the source ](https://github.com/simonmichael/hledger/tree/master/bin ) as
2017-01-17 01:26:52 +03:00
[add-on commands ](http://hledger.org/hledger.html#add-on-commands ), such as:\
`chart` ,
`check-dates` ,
`dupes` ,
`equity` ,
`print-unique` ,
`register-match` ,
`rewrite` .
2017-01-08 22:12:18 +03:00
To install these and make them available in hledger's commands list:
2017-01-08 22:00:10 +03:00
1. Install [`stack` ](http://haskell-lang.org/get-started ) and [git ](https://en.wikipedia.org/wiki/Git ) (see above)
2. `git clone http://code.hledger.org hledger` (as above)
3. `cd hledger`
4. `bin/compile.sh` (optional, makes them start faster)
5. add the hledger `bin/` directory to your `$PATH`
2017-01-08 22:12:18 +03:00
There is also a `hledger-autosync` symbolic link showing how to make
2017-01-08 22:00:10 +03:00
the [ledger-autosync ](https://gitlab.com/egh/ledger-autosync ) tool available
2017-01-08 22:12:18 +03:00
as a hledger command.
Other commands are published as separate packages:\
`hledger-diff` ,
`hledger-iadd` ,
`hledger-interest` ,
`hledger-irr` .
2017-01-08 22:00:10 +03:00
2017-01-08 22:12:18 +03:00
Some are available in Stackage and can be installed with stack as in B above:
2017-01-08 22:00:10 +03:00
2017-01-08 22:12:18 +03:00
`stack install --resolver nightly hledger-iadd hledger-interest`
2017-01-08 22:00:10 +03:00
2017-01-08 22:12:18 +03:00
Others are available only on Hackage, so you must specify the Hackage version number. Eg:
2017-01-08 22:00:10 +03:00
2017-01-08 22:12:18 +03:00
`stack install hledger-diff-0.2.0.7 hledger-irr-0.1.1.10`