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