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-reltool
、gcc-c++
和 erlang-erl_interface
。
作为旁注,我还将 CouchDB 文档中的 adduser
命令改编为:
adduser --system --no-create-home --shell /bin/bash -U -c "CouchDB Administrator" couchdb
我正在按照 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-reltool
、gcc-c++
和 erlang-erl_interface
。
作为旁注,我还将 CouchDB 文档中的 adduser
命令改编为:
adduser --system --no-create-home --shell /bin/bash -U -c "CouchDB Administrator" couchdb