Ledger:命令行会计
Ledger是一个功能强大的两次记帐系统,可从UNIX命令行访问。由于没有浮华的UI,这可能会推迟一些用户,但是对于那些想要无与伦比的报告访问其数据的用户,几乎没有其他选择。
分类帐使用文本文件进行输入。它读取文件并生成报告;没有其他数据库或存储状态。要使用Ledger,您需要创建一个包含帐户名和交易记录的文件,从命令行运行一些选项来指定输入和请求的报告,并获取输出。输出通常是纯文本,尽管您可以生成图形或html。 Ledger概念简单,功能惊人,并且易于使用。
对于急躁的人
我知道,您只想构建并发挥作用。如果您已安装所有依赖项,则只需执行以下操作:
$ git clone git://github.com/ledger/ledger.git $ cd ledger && ./acprep update # Update to the latest, configure, make
现在尝试第一个分类帐命令:
$ ./ledger -f test/input/sample.dat reg
要获得保存日志的帮助,请查看文档和 wiki(另请参阅此文件末尾的“资源”部分)。 可以在 [ledger/ledger-mode 存储库] 中找到 Ledger 文件的 Emacs 模式,而 vim 插件位于 ledger/vim-ledger 存储库中。
Docker 版本
如果您在计算机或服务器上安装了 Docker,则可以使用该软件的 Docker 版本,而无需安装任何其他依赖项:
$ docker run --rm -v "$PWD"/test/input:/data dcycle/ledger:1 -f /data/sample.dat reg
依存关系
如果您想继续进行这项冒险,则需要一些依赖项。 为您的平台获取它们的最简单方法是运行以下方便的Python脚本:
$ ./acprep dependencies
如果那不能完全解决问题,那么这里是构建当前 master 分支的依赖项:
依赖 | 版本(或更高版本) |
---|---|
Boost | 1.49 |
GMP | 4.2.2 |
MPFR | 2.4.0 |
utfcpp | 2.3.4 |
gettext | 0.17 optional |
libedit | 20090111-3.0 optional |
Python | 2.4 optional |
doxygen | 1.5.7.1 optional, for make docs
|
graphviz | 2.20.3 optional, for make docs
|
texinfo | 4.13 optional, for make docs
|
lcov | 1.6 optional, for make report , used with /./acprep gcov
|
sloccount | 2.26 optional, for make sloc
|
macOS
您可以使用 Homebrew 或 MacPorts 在 macOS 上轻松安装 Ledger。
1.Homebrew
您可以通过 brew 选项分类帐命令查看在安装 brew 时可以传递的参数。 要安装分类帐,只需键入以下命令:
$ brew install ledger
如果要启动 python,请使用以下命令:
$ ledger python
2. MacPorts
如果像我一样在 macOS 上使用 MacPorts 构建东西,则将运行以下命令:
$ sudo port install -f cmake python37 \ libiconv zlib gmp \ mpfr ncurses ncursesw \ gettext libedit boost-jam \ boost +st+python37+icu texlive doxygen graphviz \ texinfo lcov sloccount
Conda
Ledger 也可以通过 conda-forge 渠道通过 Conda 获得:
$ conda install -c conda-forge ledger
Ubuntu
如果要在 Ubuntu 上进行构建,请使用 sudo apt-get install ... 以下软件包(从 Ubuntu 18.04 开始使用):
$ sudo apt-get install build-essential cmake doxygen \ libboost-system-dev libboost-dev python3-dev gettext git \ libboost-date-time-dev libboost-filesystem-dev \ libboost-iostreams-dev libboost-python-dev libboost-regex-dev \ libboost-test-dev libedit-dev libgmp3-dev libmpfr-dev texinfo tzdata
Debian
Debian 9 (stretch), Debian 10 (buster), Debian testing 和 Debian unstable(sid)包含构建 ledger 所需的所有组件。 您可以使用以下命令安装所有必需的构建依赖项:
$ sudo apt-get install build-essential cmake autopoint texinfo python3-dev \ zlib1g-dev libbz2-dev libgmp3-dev gettext libmpfr-dev \ libboost-date-time-dev libboost-filesystem-dev \ libboost-graph-dev libboost-iostreams-dev \ libboost-python-dev libboost-regex-dev libboost-test-dev
构建
下一步是为构建环境做准备。而你可以使用cmake。还有make,我已经准备了一个脚本,可以为您做更多的工作。
$ ./acprep update # or, if you want to use the Boost libraries with suffix -mt, install in # $HOME/local and build with 2 processes in parallel $ ./acprep update --boost-suffix=-mt --prefix=$HOME/local -j2
如果配置步骤失败,请阅读 CMakeFiles/CMakeOutput.log 和 CMakeFiles/CMakeError.log 的内容。 另外,请参阅 acprep 的 help 子命令,其中解释了其许多选项。这几乎是我运行的用于配置、构建和测试 Ledger 的唯一命令。
您可以运行make check确认结果,然后进行install安装。
资源
现在您已经启动并运行,这里有一些需要牢记的资源:
- 主页
- 文档
- IRC channel
- Mailing List / Forum
- GitHub 项目页面
- 代码分析
如果您有想法要分享,最好的方法是给我发送补丁程序(我更喜欢附件而不是粘贴的文本),或者在 GitHub 上获得一个帐户。 完成后,派生 Ledger 项目,随意魔改,然后通过 GitHub 向我发送拉请求。
(The first version translated by vz on 2020.07.18)