Elixir:在 Ubuntu 上安装 Elixir 会杀死 运行 Couch 数据库实例

Elixir: Installing Elixir on Ubuntu kills running Couch DB instance

最近尝试使用此处找到的说明在 Ubuntu 12.0.4 上安装 Elixir(基本上使用 apt-get install elixir)- http://elixir-lang.org/install.html

安装完成后,我发现无法在 - http://localhost:5984.

上访问 CouchDB 实例 运行

所以我尝试删除并重新安装 Couch 本身。这样做之后,我仍然无法在本地主机上访问 CouchDB。

仅在删除 CouchDB、Erlang 和 Elixir(使用 apt-get remove couchdb couchdb-bin erlang-base erlang-base-hipe erlang-solutions)之后,我才能够使用简单的 apt-get install couchdb 命令重新安装 CouchDB。

我假设 Elixir 安装升级 Erlang/OTP 到 v18.1... 此升级是否导致问题? 如果是这样,我该如何解决才能在同一台机器上同时使用 CouchDB 和 Elixir?

从外观上看,在此处找到的标准 Ubuntu Couch 安装包 - https://launchpad.net/~couchdb/+archive/ubuntu/stable - 安装 CouchDB ver 1.6.1,Erlang/OTP R14 作为依赖项。

当您从官方网站上找到的包安装 Elixir 时,它会安装 Erlang/OTP R18 作为依赖项,覆盖之前安装的任何版本。

三个问题。

  • CouchDB 安装不会自动重新配置为使用最新的 Erlang VM 在您的机器上可用。
  • 如果发现 'incompatible' Erlang/OTP VM 已安装,则从 apt get 包安装 Couch 会失败。
  • 从此处找到的源代码进行编译时 - https://github.com/apache/couchdb - 如果构建过程失败 找到早于 R12 或晚于 R17 的 Erlang/OTP VM!... 显然,Couch 已被修补以使用 Erlang R18,但它并没有出现 当我尝试从 github 中的标签 1.6.1 构建项目时工作 回购

感叹

所以最后,我决定使用这个 - https://github.com/jhs/build-couchdb - 我认为,这会在构建文件夹中安装 Erlang VM 的本地化版本。这并不理想...

一旦我获得更多信息,我将更新此答案。

干杯帮助。

编辑 - 我认为它使用已安装的 Erlang/OTP 相同版本(如果可用)。