hledger/site/download.md
Simon Michael f97996da3d site: download: D tweaks
[ci skip]
2017-04-02 16:13:32 -07:00

6.9 KiB

 
# Download

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. (Packagers welcome!)

Windows: see B below
Mac: brew install 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
NixOS: nix-env -iA nixpkgs.haskellPackages.hledger \
  nixpkgs.haskellPackages.hledger-ui \
  nixpkgs.haskellPackages.hledger-web
Sandstorm: hledger-web Sandstorm app -> demo
(get your own private or public hledger-web instance in 3 clicks)

B. I want to build the latest release

The latest release (see release notes) is a good choice. You have to build it, but normally that should be quite easy:

  1. Install stack
    Note some packaged versions of stack are too old and will give "Invalid package ID" 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.
    On Arch, you may need to also install GHC manually.
    You should also add ~/.local/bin (or Windows equivalent) 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]\
    Note specifying the version as above forces stack to select exactly this version, which is sometimes necessary just after a release; at other times the following command may be preferable to get any newer versions:
    stack install --resolver=nightly hledger [hledger-ui] [hledger-web] [hledger-api]
    If stack says you need to run stack setup, do that first.
    Don't type the square brackets; they mean that hledger-ui etc. are optional.
    On Windows, hledger-ui is not yet available.
    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
    Fedora, RHEL: sudo dnf install ncurses-devel

If you're a 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.

C. I want to build the development version

The dev version 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.