最近尝试按照此处的说明在 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
)我才能够重新安装 CouchDB,只需一个简单的apt-get install 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 在您的机器上可用。
- 如果发现已安装“不兼容”的 Erlang/OTP VM,则从 apt get 包安装 Couch 会失败。
- 从此处找到的源代码进行编译时 - https://github.com/apache/couchdb - 构建过程将终止,如果它 找到早于 R12 或晚于 R17 的 Erlang/OTP VM!... 显然,Couch 已被修补以使用 Erlang R18,但它并没有出现 当我尝试从 github 中的标签 1.6.1 构建项目时工作 repo 。
感叹。
所以最后,我决定使用这个 - https://github.com/jhs/build-couchdb - 我认为,这会在构建文件夹中安装 Erlang VM 的本地化版本。这并不理想...
一旦我获得更多信息,我将更新此答案。
为帮助干杯。
编辑 - 我认为它使用已安装的相同版本的 Erlang/OTP,如果可用的话。
关于linux - Elixir:在 Ubuntu 上安装 Elixir 会终止正在运行的 Couch DB 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34930387/