【问题标题】:Windows IEx: when to use the --werl flagWindows IEx:何时使用 --werl 标志
【发布时间】:2017-07-02 04:43:18
【问题描述】:

尝试使用IEx.pry 调试项目,我发现我需要使用--werl 标志。我会将任何对此讨论有潜在解决方案的人推荐给:

Should --werl be made default?

我当前的项目有多个模块并使用 Plug.Router。我意识到在这种情况下,窥探可能不是最好的调试技术。还是……

我很想学习如何使用 pry 进行调试,所以我测试了一个与 this solution 非常相似的简单案例。简而言之,从进程环境中窥探变量需要IEx shell 在编译期间运行。这适用于上面链接的示例中的单个模块;但是,我当前的项目要求我 mix 项目目录。纠正我,也许有一种冗长的方法可以在 erlang 控制台中编译和运行项目目录?无论如何,mix run --no-haltiex -S mix run 都不能用于窥探 Windows(后者请求 --werl 标志)。

然后我在一个更简单的项目上尝试了相同的任务,该项目没有使用 Plug,只有一个模块,一个递归计数器。尽管如此,我还是不能用--werl 标志iex -S mix 这个。 Erlang 控制台打开、关闭,应用程序未启动。 dddd 我推断我不能mix 带有--werl 标志的项目目录,但是我应该什么时候使用它?我怎样才能在 IEx shell 中窥探?如果可能的话,我宁愿不使用 Erlang 控制台。

阅读 IEx 的 Hex 文档:

这样的函数 [在他们的例子中是枚举] 在某些 Windows shell 上可能不可用。您可能需要在启动 iex 时传递 --werl 标志,如 iex --werl 以使其工作。 --werl 可以通过设置 IEX_WITH_WERL 环境变量来永久启用。

文档不再说明何时使用 --werl 选项。

显然,我是 Elixir 的新手,但这似乎不是一个明显的区别,尽管这个问题是在大约 2 年前提出的。

【问题讨论】:

    标签: elixir


    【解决方案1】:

    当你想同时使用--werl-S mix时,你必须把--werl放在-S mix之前。

    iex --werl -S mix 可以工作,而iex -S mix --werl 不能工作。

    【讨论】:

      猜你喜欢
      • 2021-02-24
      • 2016-11-06
      • 2017-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-20
      • 1970-01-01
      相关资源
      最近更新 更多