Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带依赖项的Elixir脚本_Elixir - Fatal编程技术网

带依赖项的Elixir脚本

带依赖项的Elixir脚本,elixir,Elixir,我正在写一个快速灵丹妙药脚本,我想使用一个依赖项。创建一个新的混合项目只是为了为这个库添加依赖项管理,这似乎有点过头了。你推荐什么?对于一个带有依赖项的简单脚本,您会选择混合项目路线吗 编辑 注意:我不是问如何全局安装和访问依赖项。问题是,“你会走混合项目路线吗…”建议的方法是什么 走混合项目路线。快速和肮脏的脚本有一种成长为更大项目的方式 可以使用 例如:考虑: # foo.ex defmodule Foo do def bar, do: "Barrrr" end 然后,在同一目录中,放

我正在写一个快速灵丹妙药脚本,我想使用一个依赖项。创建一个新的混合项目只是为了为这个库添加依赖项管理,这似乎有点过头了。你推荐什么?对于一个带有依赖项的简单脚本,您会选择混合项目路线吗

编辑
注意:我不是问如何全局安装和访问依赖项。问题是,“你会走混合项目路线吗…”建议的方法是什么

走混合项目路线。快速和肮脏的脚本有一种成长为更大项目的方式

可以使用

例如:考虑:

# foo.ex
defmodule Foo do
  def bar, do: "Barrrr"
end
然后,在同一目录中,放入脚本:

# main.exs
Code.require_file("foo.ex", __DIR__)

Foo.bar()
|> IO.puts()
您可以对其进行调整,以包含手动放入目录中的其他第三方文件,,但它不是非常惯用的!你不太可能看到像上面这样的事情(事实上,这是我编造的)。如前所述,您通常最好还是坚持一个混合项目(也许是定制一个混合任务)


请记住,Elixir首先是一个虚拟机(ErlangVM),因此它总是带来“包袱”。对于可移植性最为重要的快速一次性脚本,Elixir可能不是最佳选择。我可能会选择Python来编写简单的脚本(因为它不带自己的包袱,而是假设您的计算机上有所有这些东西),或者选择Python(因为它会将任何复杂的东西编译成一个可执行文件)。

+1因为我想知道是否有一种简单的方法可以做到这一点,我还没有见过。但是,克隆和/或下载库的源代码似乎要比创建一个混合项目并让它为您检索库的工作做更多的工作。一个解决方法(我已经考虑过,但我自己还没有做过)是保留生成的混合项目,只要在需要时添加依赖项即可。过一段时间,它将包括你一直在使用的那些。@CoderDennis:是的,我同意。创建一个新的混合项目并不难。但是,我想知道这是否是简单脚本的建议方法。来自Ruby背景,我编写了许多小实用程序脚本,它们只是一个文件。每个人都有一个项目似乎太过分了。@HenrikN:这是个好建议。我的所有实用程序脚本都可以是单个项目的一部分。它仍然缺乏Ruby中快速的单文件实用程序脚本的可移植性。不过,这可能只是一种情绪反应也许这没什么大不了的。我也想念《长生不老药》中的Ruby便利(就像这一个)——它可能会让人沮丧,但我想它也让我们免于一些痛苦。还没有决定我们是否在平衡方面更好;)我肯定看到Eric(Hex guy)在某个地方讨论过这个问题(是否允许在没有完整项目的情况下使用依赖项),但我现在找不到它,我不记得他说了什么,恐怕……我想我正朝这个方向倾斜。