是否应该将 :name 和/或 :app 添加到伞形应用程序的根 mix.exs 文件中的项目定义中?

问题描述

我正在尝试使用 ExDoc 为 Elixir 项目中的应用程序生成文档。我的项目被构建为一个伞形应用程序,有两个应用程序,一个功能核心和一个 Phoenix Web 前端。从伞的根运行命令 mix docs 时,我收到以下错误消息:

** (RuntimeError) expected :name or :app to be found in the project deFinition in mix.exs
    (ex_doc 0.23.0) lib/mix/tasks/docs.ex:328: Mix.Tasks.Docs.run/3
    (mix 1.11.3) lib/mix/task.ex:394: Mix.Task.run_task/3
    (mix 1.11.3) lib/mix/cli.ex:84: Mix.CLI.run_task/2
    (elixir 1.11.3) lib/code.ex:931: Code.require_file/2

根mix.exs文件如下:

defmodule UmbrellaProject.MixProject do
  use Mix.Project

  def project do
    [
      apps_path: "apps",version: "0.1.0",start_permanent: Mix.env() == :prod,deps: deps()
    ]
  end

  defp deps do
    [{:ex_doc,"~> 0.23.0",dev: true,runtime: false}]
  end
end

我应该在 project/1 函数的列表中添加 :name 和/或 :app 值吗?如果是,是否有关于它们的值应该是什么的标准约定,或者它们可以是任何东西(在合理范围内)?

我使用的是 Elixir 1.11.3 版。

解决方法

尝试在您的配置中添加 name: " xxx "

defmodule UmbrellaProject.MixProject do
  use Mix.Project

  def project do
    [
      name: "My umbrella project",apps_path: "apps",version: "0.1.0",start_permanent: Mix.env() == :prod,deps: deps()
    ]
  end

  defp deps do
    [{:ex_doc,"~> 0.23.0",dev: true,runtime: false}]
  end
end

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...