从启动中排除混合项目中的应用程序

时间:2018-11-17 05:47:46

标签: elixir mix

我有一个启动应用程序的依赖项,但是我只想使用其模块,而不希望其主管运行。如何从启动中排除它?

我在man.app.start,run或Mix.Project模块中找不到与此相关的任何内容

2 个答案:

答案 0 :(得分:1)

只需在mix help deps

中找到它
  • :app-设置为false时,不会为此读取应用程序文件    依赖性。默认情况下,应用文件为
  • :runtime-依赖项是否是运行时应用程序的一部分。    默认为true,它将自动将应用程序添加到以下列表中    自动启动并包含在版本中的应用程序

在我的情况下,两者都可以工作,但不确定有什么区别。

答案 1 :(得分:1)

指定runtime通常是大多数应用程序的正确方法:

{:some_dep, "~> 1.0.0", runtime: false}

这将导致依赖关系的应用程序监视树无法从您的其余应用程序开始。但这仍然允许您根据需要在运行时手动启动它。

当改用app: false时,根本不会读取依赖项的Application模块,因此您甚至无法在以后手动启动它。