CouchDB 2.0.0 make install 在 CentOS 7 上失败

CouchDB 2.0.0 make install fails on CentOS 7

我正在按照 CouchDB 文档安装说明进行操作: http://docs.couchdb.org/en/2.0.0/install/unix.html

我安装依赖项:

    $ sudo yum install autoconf autoconf-archive automake \
    curl-devel erlang-asn1 erlang-erts erlang-eunit \
    erlang-os_mon erlang-xmerl help2man \
    js-devel-1.8.5 libicu-devel libtool perl-Test-Harness

配置正常:

    $ ./configure

您已配置 Apache CouchDB,是时候放松一下了。放松。

但就在我开始感到放松的时候,我被 gmake 扔了一个曲线球:

    $ make release

rebar_core 中的未捕获错误:{error, {erl_interface,include,"code:lib_dir(erl_interface)is unable to find the erl_interface library."}}

文档给出的唯一线索是,如果 make 失败,请尝试 gmake,但由于 gmake 和 make 在 CentOS 7 上是相同的,所以这无济于事。 从输出来看,它似乎是一个依赖性问题,但我不会假装理解 Erlang 依赖性或对这个特定依赖性一无所知。我在 yum 中安装了文档建议的软件包,我认为这应该足够了。 任何帮助将不胜感激。

我在这里查看了一篇关于在 CentOS 7 上安装 CouchDB 2.0 的博客 post: https://medium.com/linagora-engineering/setting-up-a-couchdb-2-cluster-on-centos-7-8cbf32ae619f

它们在 yum 依赖项中包含了 erlang 本身。 我在我的机器上试过了,成功了。 我不知道这是否是最好的方法,但它确实有效。 如果有人有更好的解决方案来安装 CouchDB 所需的 erlang 包,我想听听。

此外,如果在 CouchDB 管理文档的任何人都在收听,则该网页的安装说明不适用于 CentOS 7。我在两台机器上都试过了,出现了上述相同的错误。

顺便说一下,设置 couchdb 用户和组的说明在 CentOS 7 上也不起作用。要让它工作,你必须足够了解 Linux 来解释一些不寻常的选项,例如设置系统帐户并使其成为 geco 并从可能在 Ubuntu 上工作的说明中解释它们的含义,然后翻译将其转换为适用于 CentOS 7 的等效选项,并且非常有信心您不会错误配置您的服务器并创建安全漏洞。您必须决定是否要将能够安装您的数据库的人员限制为具有这些 Linux 技能的人员。如果你决定这样做,我会感到被排斥在外。

为了修复所有构建错误,除了 CouchDB docs 中建议的软件包外,我还安装了 erlang-reltoolgcc-c++erlang-erl_interface

作为旁注,我还将 CouchDB 文档中的 adduser 命令改编为:

adduser --system --no-create-home --shell /bin/bash -U -c "CouchDB Administrator" couchdb