hledger/site/download.md

7.2 KiB
Raw Blame History

Download

Choose a method:

A. I want to download a packaged version

Packaged versions are the quickest to install, but they sometimes lag behind the latest release, or provide only some of the hledger tools.

Windows: Latest developer builds (no hledger-ui, please help)
Mac: brew install hledger (CLI only, please help)
Arch Linux: pacaur -S hledger
Debian, Ubuntu: sudo apt install hledger hledger-ui hledger-web
Fedora, RHEL: sudo dnf install hledger
Gentoo: sudo layman -a haskell && sudo emerge hledger hledger-ui hledger-web
Void Linux: xbps-install -S hledger hledger-ui hledger-web hledger-api
NixOS: nix-env -iA nixpkgs.haskellPackages.hledger \
  nixpkgs.haskellPackages.hledger-ui \
  nixpkgs.haskellPackages.hledger-web
Sandstorm: hledger-web Sandstorm app -> demo (get a hledger-web server in 3 clicks. Features needed, please help)

B. I want to build the latest release

The latest release (see release notes) is a good choice. You have to build it, but this is relatively easy:

  1. Install stack

    Avoid using versions older than 1.0 which give “Invalid package ID” errors; latest version is good.
    On Windows, the 64-bit version is recommended.
    On Arch, you may need to also install GHC manually.
    Ensure ~/.local/bin (or Windows equivalent) is added to your $PATH. Eg if youre a bash user:
      echo "export PATH=$PATH:~/.local/bin" >> ~/.bashrc && source ~/.bashrc

  2. stack install hledger-lib-1.3 hledger-1.3 [hledger-ui-1.3] [hledger-web-1.3] [hledger-api-1.3] 

    Dont type the square brackets; they indicate optional packages which you can omit to save time.
    hledger-ui is not yet available on Windows.
    This command installs the latest released hledger packages (and the haskell libraries and tools they depend on) from an appropriate stackage snapshot and/or hackage, and will take a while.
    You can add --dry-run to see what it plans to do, and kill/restart it without losing progress.
    If it says you need to run stack setup, do that then run the install command again.
    If it says “Error: While constructing the build plan…”, try adding --resolver=lts to the install command, or setting a newer resolver in $HOME/.stack/global/stack.yaml.
    On Mac, if it says “ghc: panic! … no suitable image found”, you may need to specify GHC 8.0.2+/lts-8+, as above.
    If it gives “Invalid package ID” errors, get a newer version of stack (see step 1).
    If youre a 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:

    Debian, Ubuntu: sudo apt install libncurses5-dev
    Fedora, RHEL: sudo dnf install ncurses-devel

    If you need to build with an older GHC version for some reason, these commands should work (except on Mac sierra which requires GHC 8.0.2+):
    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 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

Now you should be able to run hledger --version and see a version similar to the above (and hledger-ui --version, hledger-web --version etc. if you installed those).

C. I want to build the development version

The latest master branch includes not-yet-released features and is stable enough for daily use.

  1. Install stack and git (see notes in B above)
  2. git clone http://code.hledger.org hledger
  3. cd hledger
  4. stack install

Cabal users can use the cabal-install.sh or cabal.project files instead.

D. I want to install more commands

Additional add-on commands can be installed. Eg:
stack install hledger-iadd-1.2.1 or stack install --resolver nightly hledger-iadd.

More, experimental add-ons are included in the hledger source repo; to install these:

  1. Download the hledger source code (as in C above)
  2. In the hledger directory, run bin/compile.sh (installs dependencies & compiles for speed)
  3. Add the hledger/bin/ directory to your $PATH (as in B above)

Now you should be able to run hledger iadd --version, hledger check --help etc.