hledger/site/download.md
2017-07-12 06:53:50 +01:00

6.5 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

    On Windows, the 64-bit version is recommended.
    On Arch, you may need to also install GHC manually.
    Avoid really old packaged stack versions (< 1.0) which give “Invalid package ID” errors; consider downloading the latest stack binary instead.

    As part of stack installation you should also add ~/.local/bin (or Windows equivalent) to $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] 

    This command installs the latest 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.
    Dont type the square brackets; they indicate optional packages which you can skip to save time.
    hledger-ui is not yet available on Windows.

    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 more up-to-date version of stack (see step 1).
    If it gives errors due to missing C libraries (like curses or terminfo), install those manually, eg like so:

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

(cabal experts, feel free to use that instead of stack.)

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

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.