Elixir IEX在显示提示之前停止,并且不接受输入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elixir IEX在显示提示之前停止,并且不接受输入相关的知识,希望对你有一定的参考价值。

我最近试图启动iex。我在shell中键入了iex(我尝试了几个shell,以防万一)并且iex没有提供任何提示等。它只是坐在那里,如果我键入像箭头一样的特殊键,它们就会被转义并输出。如果我输入control-c它会显示标准光束中断。我检查了iex指向正确的地方而不是奇怪的别名,这似乎是正确的。我该如何解决此问题?

我已经尝试卸载并重新安装elixir(但还没有安装erlang),但是没有解决它。我可以检查或删除任何缓存的文件吗?

答案

看看here。我特别想到了这一部分:

.erlang启动文件

启动Erlang / OTP时,系统会在启动Erlang / OTP的目录中搜索名为.erlang的文件。如果未找到,则在用户的主目录中搜索.erlang文件。

如果找到.erlang文件,则假定它包含有效的Erlang表达式。这些表达式的计算方式就像输入shell一样。

你会想看看在任何地方是否有.erlang文件;这会改变Erl shell的启动。该页面还包含有关可能影响erl行为的环境变量的一些细节。

另一答案

好吧,原来是一个二郎问题。在我的驱动器搜索erlang相关文件后,我能够在重新安装后让它工作。重新安装前删除的文件:

  • ~/.erlang.cookie(最有可能的候选人。包含类似于此的字符串:“AMVBSKDKEI”,遗憾的是,我不再拥有确切的字符串了)
  • 缓存的家酿啤酒瓶(不太可能,但删除它们只是为了确定)
  • rabbit mq(也许不是问题,但它是我之前安装的依赖于erlang的包)

/usr/share/file/magic/erlang看起来是file(1)的一部分,而不是直接的erlang。离开那个,让它工作。

以上是关于Elixir IEX在显示提示之前停止,并且不接受输入的主要内容,如果未能解决你的问题,请参考以下文章

如何重新编译 Elixir 项目并从 iex 中重新加载它?

Elixir IEx shell,如何突破当前的“接收”块

将 iex shell 附加到正在运行的 elixir 应用程序

Elixir - 从命令行运行时记录器输出是彩色的,从 iex 运行时不是这样

使 elixir 应用程序在源代码更改时重新编译和重新加载

为输入 iex shell 着色