2016-01-21 2 views
2

Недавно пытался установить эликсира на Ubuntu 12.0.4 с инструкциями, содержащимися здесь (в основном с помощью apt-get install elixir) - http://elixir-lang.org/install.htmlElixir: Установка эликсира на Ubuntu убивает работает экземпляр Couch DB

После установки была завершена, я обнаружил, что я не удалось достигнуть экземпляра CouchDB, запущенного на - http://localhost:5984.

Так что я попытался удалить и переустановить сам Couch. После этого я все еще не мог добраться до CouchDB на localhost.

Только после удаления 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 на той же машине?

+0

Вы попробовали совет здесь http://blog.danielberkompas.com/elixir/2015/08/28/how-to-run-elixir-cloud9-ide.html о выполнении sudo touch /etc/init.d/couchdb? – GavinBrelstaff

+0

Не работает, поскольку это предполагает, что я должен сначала установить Elixir, а затем Couch. Я попробовал это и столкнулся с тем же состоянием, что и выше. – Charlie

+0

Вы пытались установить из источника? – Andy

ответ

2

С учетом особенностей стандартного установочного пакета Ubuntu Couch, найденного здесь, - https://launchpad.net/~couchdb/+archive/ubuntu/stable - устанавливается CouchDB ver 1.6.1 с использованием Erlang/OTP R14 в качестве зависимости.

Когда вы устанавливаете Elixir из пакета, найденного на официальном сайте, он устанавливает Erlang/OTP R18 в качестве зависимости, перезаписывая любую ранее установленную версию.

Три проблемы с этим.

  • установка CouchDB не автоматически переконфигурировать использовать последний Erlang VM доступны на вашей машине.
  • Установка Couch из пакета apt get распадается, если обнаружит «несовместимую» Erlang/OTP VM, уже установленную.
  • При компиляции из источника найденного здесь - https://github.com/apache/couchdb - процесс сборки будет умереть, если он находит Erlang/OTP VM раньше, чем R12, или позже, чем R17 ... Видимо, Couch был исправлен использовать Erlang R18 , но он не появился , чтобы работать, когда я попытался построить проект из тега 1.6.1 в github repo.

Вздох.

Итак, в конце концов, я решил использовать это - https://github.com/jhs/build-couchdb - Какой, я думаю, устанавливает локализованную версию виртуальной машины Erlang в папке сборки. Это не идеально ...

Как только у меня появится дополнительная информация, я обновлю этот ответ.

Приветствия за помощью.

EDIT - Я думаю, что он использует ту же версию Erlang/OTP, которая уже установлена, если она доступна.

+0

Такая же проблема здесь; грустно видеть, что CouchDB не догоняет - и я как-то чувствую, что все больше и больше, несмотря на то, что мне это очень нравится. –

+0

CouchDB dev здесь: В качестве альтернативы вы можете установить CouchDB [1.xx] (https://github.com/apache/couchdb/tree/1.xx) или [1.6.x] (https://github.com/ apache/couchdb/tree/1.6.x) из источника после установки Elixir с Erlang R18. Обратите внимание, что вы не можете использовать tar-версию 1.6.1, но вам придется строить из git checkout. - обе ветки безопасны для сборки из источника и запускаются в производство. –

+0

Это именно то, что я попробовал в первую очередь (см. Ответ), но на момент написания он задохнулся от экземпляра R18 Erlang/OTP, который у меня был на моем Linux-поле. – Charlie

Смежные вопросы