【问题标题】:Can Elixir script or iex use external modules without creating a new project?Elixir 脚本或 iex 可以在不创建新项目的情况下使用外部模块吗?
【发布时间】:2015-11-17 00:27:05
【问题描述】:

我经常在 Elixir 中使用 HTTPoison 编写 HTTP 程序。 当然,如果我使用 mix 来创建新项目并修改 mix.exs 为 HTTPoison 的依赖关系,mix deps.get 可以解决依赖关系。

但是,有时我想尝试使用短脚本 (.exs) 或 iex 来进行需要外部模块而不创建新项目的简单实验。

有没有什么方法可以解决这个要求,比如 Elixir 中的“库搜索路径”?

【问题讨论】:

    标签: elixir


    【解决方案1】:

    Code 模块具有实现您需要的所有功能的功能。但是,它仅适用于机器上的现有文件,您几乎需要“手动”完成所有操作。

    Code.append_path
    
    Code.ensure_loaded
    

    应该能完成大部分你想要的。

    另一种方法是在现有项目中使用iex -S mix 依赖项,然后加载 .exs 文件。

    【讨论】:

    • 谢谢。然而,在新项目中使用 mix.exs 似乎最终是正确且方便的方式。
    【解决方案2】:

    erun 可能会有所帮助。 它在 escript 中包装了 Mix 依赖项,您可以将脚本运行为

    $ erun foo.exs
    

    https://github.com/s417-lama/erun

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-01
      • 1970-01-01
      • 2011-06-25
      • 1970-01-01
      • 2017-12-30
      • 2021-07-28
      • 1970-01-01
      • 2012-04-18
      相关资源
      最近更新 更多