iex -S mix возвращает ошибку, когда сервер не может запуститься на Mac

Я пытался запустить свой микс-проект в эликсире на Mac. Проект отлично работает на CentOS. Ошибка выглядит следующим образом:

_build/dev/lib/<project_name>/ebin/Elixir.Mix.Tasks.Proddata.beam failed: :badfile
** (Mix) Could not start application exq: Exq.start(:normal, []) returned an error:
  shutdown: failed to start child: Exq.Manager
    ** (EXIT) {:connection_error, {:connection_error, :econnrefused}}

Я попытался обновить свою версию erlang из brew, но это не помогло. Я также пробовал очищать зависимости. Я использую

Erlang/OTP 18 [erts-7.0.3] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

и Эликсир 1.0.5.


person VoodooChild    schedule 22.09.2015    source источник
comment
Попробуйте удалить все дерево каталогов _build и перекомпилировать.   -  person Fred the Magic Wonder Dog    schedule 22.09.2015
comment
@FredtheMagicWonderDog пробовал, не получилось   -  person VoodooChild    schedule 22.09.2015


Ответы (1)


Смотрим на ошибки:

Ошибка _build/dev/lib//ebin/Elixir.Mix.Tasks.Proddata.beam: :badfile

Это означает, что вы пытаетесь вызвать задачу с неправильным именем. Возможно, вы вызываете «mix run proddata», и это будет искать задачу с именем Proddata, но вы могли назвать ее по-другому. Используйте mix help, чтобы увидеть, какие задачи доступны.

** (Mix) Не удалось запустить приложение exq: Exq.start(:normal, []) вернуло ошибку: shutdown: не удалось запустить дочерний элемент: Exq.Manager ** (EXIT) {:connection_error, {:connection_error, :econnrefused }}

Он говорит, что не может подключиться к чему-то. Похоже, что Exq.Manager нужен Redis, поэтому убедитесь, что Redis запущен и вы настроили его с правильными учетными данными.

person José Valim    schedule 22.09.2015
comment
Привет, Хосе, не удалось подключиться к redis, теперь все работает. Я не уверен, почему Proddata используется, пока все работает. - person VoodooChild; 23.09.2015