问题标签 [elixir-iex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
647 浏览

compiler-errors - 如何在不编译更改的文件的情况下运行`iex -S mix`?

假设我正在编写一个新模块,代码还没有准备好,我想在 repl 中测试一些东西。我运行iex -S mix但由于我不打算修复的编译错误而失败。

我认为我的应用程序有一个最后编译的版本,我可以使用iex. 我怎么做?

0 投票
1 回答
491 浏览

debugging - Elixir phoenix调试导致交互式shell而不是pry

我一直在尝试调试凤凰应用程序。
为此,我使用了以下说明:
- 设置断点:require IEx; IEx.pry
- 启动调试服务器:iex -S mix phx.server

问题出现在启动服务器时,上面的指令将我引导到 elixir 交互式 shell(iex(1)>)并且不允许服务器运行,如果我手动执行代码,它会在 prys 中停止,但我希望拥有服务器每当请求触发时运行和停止。有什么解决办法吗?

我目前正在使用 earlang 1.20、elixir 1.5 和 phoenix 1.3

0 投票
1 回答
221 浏览

elixir - 是否有内置的 IEX 命令来调用格式化?

我检查了 h 和 h(IEx) 并没有提出任何建议。

我确信我可以退出命令提示符并运行“混合格式”,但我想知道我是否遗漏了什么。是否有任何类似于 recompile/0 或 r/1 for iex 的命令允许我重新格式化项目中的源文件?

0 投票
1 回答
50 浏览

elixir - 为什么我的接收方法正在停止我的 iex?

我在 iex 终端上编写了以下代码,之后它不再响应,终端就停止了,就像它在期待别的东西一样。究竟发生了什么?

在此处输入图像描述

0 投票
0 回答
213 浏览

erlang - 从 cmdline 评估 Elixir 命令 - 模块不可用

我发现如果我执行以下操作,一切都会按预期工作:

但是,MyModule如果我尝试,则不可用:

错误是:

** (UndefinedFunctionError) 函数 MyModule.process/0 未定义(模块 MyModule 不可用)

有谁知道在使用-e标志时如何包含来自 mix 的依赖项?

0 投票
1 回答
10135 浏览

shell - Elixir - 从 shell 调用模块函数

在 Elixir 中,有没有办法直接从 shell 调用模块函数,而不必启动iex -S mix会话?让我用一个场景来说明:

作为我的 Phoenix 应用程序的一部分,我编写了一个从相邻iex -S mix会话运行的帮助模块。这是一个超级简化的版本:

如果我开始会话,iex -S mix然后从模块运行一个函数,一切正常:

然后ctrl-c a关闭会话。

但是,如果我尝试类似:

这导致

或者,我尝试将我的模块重新定义为自定义混合任务,如下所述:https ://elixirschool.com/en/lessons/basics/mix-tasks/#custom-mix-task

但这也失败了,因为我的模块依赖于一些导入/别名,例如MyApp.Repo,并尝试使用其中一个执行文件mix helperiex -S mix helper导致

如果没有办法解决这个问题并且脚本只能从 running 中成功执行iex -S mix,那很好......但是如果有一种方法可以设置,那么单线可以从 shell 运行以使其执行为-需要,那是蜜蜂的膝盖。

0 投票
0 回答
504 浏览

elixir - 如何调试失败的 Ecto 查询?

最终设置我的 repo Cross DB Ecto 配置后尝试运行查询失败给了我这个:

我试图谷歌如何让错误处理程序显示参数,但什么也没找到,所以我不知道错误是什么——我的查询无效,连接到 MySQL 服务器是否有问题等。

编辑:我想通了,它是Drupex.DrupalRepo.all. 我通过添加IO.inspect调用来解决这个问题lib/ecto/adapters/sql.ex,但这是一个非常肮脏的黑客,肯定有更好的方法。

0 投票
4 回答
7646 浏览

pandas - NotImplementedError: data_source='iex' 未实现

我正在尝试通过 jupyter notebook 中的 pandas_datareader 获取一些股票数据。我用的是谷歌,但是现在不行了,所以我用的是iex。

但是,它返回以下错误。

谁能帮我解决这个问题?

0 投票
1 回答
363 浏览

io - 在 Elixir iex 中运行 IO.read(:stdio, :all) 后如何退出?

我需要测试一些输入数据流,并使用'IO.read',但输入数据后我无法退出此模式,CTRL-Z/X/C/D 没有帮助(它终止整个 iex)。那么这个模式的EOF命令如何正确呢?谢谢!

0 投票
1 回答
171 浏览

namespaces - 如何在 Elixir Phoenix iex 控制台中停止强制模块命名空间?

在我的 Phoenix 应用程序中使用iex控制台时,如下所示:

iex -S mix phx.server

我似乎无法调用函数,System例如它强制命名空间到模块的前面。由于该命名空间模块不存在而导致错误。System.stop(1)System.halt(1)

** (UndefinedFunctionError) function MyApp.SomeNamespace.System.stop/1 is undefined or private

为什么它在这个核心模块前面加上一个命名空间?为什么它会使用类似的模块产生此错误System,但不会使用类似Enum、、List或的模块Map

此外,如果我iex在我的应用程序源之外使用,我可以System.any_function按预期调用。

经过进一步检查,我可以通过调用Elixir.System.stop/1. 为什么我需要在System模块前面加上Elixir.但我不需要为其他 Elixir 模块这样做?

在我的应用程序代码中,我调用类似System.backtraceSystem.get_env不需要别名或命名空间的东西。我也没有System在应用程序中命名的模块(即,没有Myapp.System定义或类似的模块)。