Elixir IEX останавливается перед отображением подсказки и не принимает ввод

Я недавно пытался запустить iex. Я набрал iex в оболочке (на всякий случай я попробовал несколько оболочек), и iex не предоставляет никаких подсказок или чего-то подобного. Он просто сидит там, и если я набираю специальные клавиши, такие как стрелки, они экранируются и выводятся. Если я наберу control-c, он покажет мне стандартное прерывание луча. Я проверил, что iex указывает на правильное место и не имеет странного псевдонима, и кажется, что это правильно. Как мне решить эту проблему?

Я пытался удалить и переустановить elixir (но еще не erlang), но это не помогло. Есть ли кэшированные файлы, которые я могу проверить или удалить?


person Garrett Motzner    schedule 24.12.2017    source источник
comment
Разве у вас нет файлов конфигурации .iex.exs, которые испортить процесс запуска? Оболочка erlang нормально запускается с erl?   -  person Aleksei Matiushkin    schedule 24.12.2017
comment
Хорошая идея с erl. он терпит неудачу таким же образом. Поэтому я удалил и переустановил erlang (нормально ли 1,3 ГБ для установленных файлов erlang?). Кости нет, к сожалению. такая же проблема. Но теперь я знаю, что это эрланг, а не эликсир.   -  person Garrett Motzner    schedule 25.12.2017
comment
Поделитесь информацией о вашей ОС. Также подтвердите, что у вас нет файла ~/.iex.exs. На моей машине: du --max-depth=0 /usr/lib/erlang дает 124M.   -  person Aleksei Matiushkin    schedule 25.12.2017
comment
Нет .iex.exs файла.   -  person Garrett Motzner    schedule 27.12.2017
comment
ОС — Mac OS 10.13.2. Erlang и elixir — новейшие версии, устанавливаемые вместе с доморощенным.   -  person Garrett Motzner    schedule 27.12.2017
comment
Поскольку это, похоже, связано с ошибкой на вашем компьютере, я голосую за закрытие вопроса.   -  person Onorio Catenacci    schedule 29.12.2017


Ответы (2)


Посмотрите здесь. Я специально думаю об этой части страницы:

Стартовый файл .erlang

При запуске Erlang/OTP система ищет файл с именем .erlang в каталоге, где запускается Erlang/OTP. Если он не найден, выполняется поиск файла .erlang в домашнем каталоге пользователя.

Если файл .erlang найден, предполагается, что он содержит допустимые выражения Erlang. Эти выражения оцениваются так, как если бы они были введены в оболочку.

Вы захотите посмотреть, есть ли где-нибудь файл .erlang; это изменит запуск оболочки Erl. Эта страница также содержит некоторые подробности о переменных среды, которые также могут влиять на поведение erl.

person Onorio Catenacci    schedule 27.12.2017
comment
В каталогах, к которым у меня есть доступ, нет .erlang файлов (во всех, кроме специальных системных каталогов). У меня нет наборов переменных среды, содержащих erl или elixir или iex - person Garrett Motzner; 28.12.2017
comment
Я знаю, что вы уже пробовали это, но я бы серьезно попытался удалить все следы Erlang с машины. Что-то сломалось, но трудно сказать что. Проверьте, не установлена ​​ли на вашей машине более старая версия Erlang — это может вызвать проблемы. - person Onorio Catenacci; 28.12.2017
comment
После удаления erlang остался файл /usr/share/file/magic/erlang. Любая идея, что это такое? - person Garrett Motzner; 28.12.2017

Итак, проблема оказалась в erlang. После проверки моего диска на наличие файлов, связанных с erlang, я смог заставить его работать после переустановки. Файлы, которые я удалил перед переустановкой:

  • ~/.erlang.cookie (наиболее вероятный кандидат. содержит строку, похожую на эту: "AMVBSKDKEI", к сожалению, у меня больше нет точной строки)
  • спрятанные бутылки самогона (маловероятно, но удалил их на всякий случай)
  • rabbit mq (возможно, проблема не в этом, но это был пакет, зависимый от erlang, который я оставил установленным ранее)

/usr/share/file/magic/erlang выглядит частью file(1), а не непосредственно erlang. Оставил это в покое и начал работать.

person Garrett Motzner    schedule 28.12.2017
comment
Спасибо другим авторам за помощь :) - person Garrett Motzner; 28.12.2017