找不到任务“ docs”。你是说“做”吗?

时间:2019-05-23 07:44:52

标签: elixir documentation mix

如何为混合项目生成文档?怎么做?

使用Elixir混合项目的过程:

  • 我通过mix new greeter命令生成了一个项目。
  • 我在greeter.ex文件中添加了一块注释。
  • 我将依存关系添加到mix.exs文件中。
  • 我尝试通过mix docs生成文档 命令。

mix help 无法在可能的选项列表中提供docs任务:

mix                   # Runs the default task (current: "mix run")
mix app.start         # Starts all registered apps
mix app.tree          # Prints the application tree
mix archive           # Lists installed archives
mix archive.build     # Archives this project into a .ez file
mix archive.install   # Installs an archive locally
mix archive.uninstall # Uninstalls archives
mix clean             # Deletes generated application files
mix cmd               # Executes the given command
mix compile           # Compiles source files
mix deps              # Lists dependencies and their status
mix deps.clean        # Deletes the given dependencies' files
mix deps.compile      # Compiles dependencies
mix deps.get          # Gets all out of date dependencies
mix deps.tree         # Prints the dependency tree
mix deps.unlock       # Unlocks the given dependencies
mix deps.update       # Updates the given dependencies
mix dialyzer          # Runs dialyzer with default or project-defined flags.
mix dialyzer.build    # Build the required plt(s) and exit.
mix dialyzer.clean    # Delete plt(s) and exit.
mix dialyzer.explain  # Display information about dialyzer warnings.
mix do                # Executes the tasks separated by comma
mix escript           # Lists installed escripts

当我运行mix docs命令时,我得到一个混合消息:

**(Mix) The task "docs" could not be found. Did you mean "do"?

Resolving Hex dependencies...
Dependency resolution completed:
Unchanged:
  earmark 1.3.2
  ex_doc 0.20.2
  makeup 0.8.0
  makeup_elixir 0.13.0
  nimble_parsec 0.5.0
All dependencies are up to date

我怎么了?

5 个答案:

答案 0 :(得分:6)

ExDoc可以使用mix docs任务。确保已安装依赖项。确保签出文档并正确安装。然后,您将可以使用mix docs命令。

这是安装方法:

  • 将其添加到您的部门:

对于Elixir> = 1.7:

def deps do
  [
    {:ex_doc, "~> 0.19", only: :dev, runtime: false},
  ]
end

长生不老药<1.7:


def deps do
  [
    {:ex_doc, "~> 0.18.0", only: :dev, runtime: false},
  ]
end
  • 运行mix deps.get
  • 现在您可以运行mix docs

您可以在混合文件的项目功能中进行配置。例如名称,source_url和homepage_url。请务必查看ExDoc的文档以了解更多详细信息。

答案 1 :(得分:2)

我删除_build目录,删除deps目录的所有内容,删除mix.lock

然后在mix-project的命令行中执行命令:

  1. mix deps.clean --all
  2. mix deps.update --all
  3. mix deps.get --all

之后,我运行mix docs并生成了文档。

命令mix help docs也会打印ExDoc文档。

答案 2 :(得分:0)

对于我的项目mix do docs来说是有效的。

答案 3 :(得分:0)

如果您将ex_doc安装为

{:ex_doc, "~> 0.19", only: :dev, runtime: false},

如果以:prod模式运行,它将无法正常工作。您需要删除only :dev 从上面的行。

答案 4 :(得分:0)

当我们有一个仅对某些环境可用的依赖项时,例如:test或:dev,就会出现这种错误 因此,要解决此问题,请确保在所需的环境中可以使用特定的依赖项

{:ex_doc, ">= 0.0.0", runtime: false}

像这样更新它,它应该可以解决问题。