找不到任务 "docs"。您是说 "do" 吗?
The task "docs" could not be found. Did you mean "do"?
如何为混合项目生成文档?它是怎么做到的?
使用 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
我的错误是什么?
mix docs
任务可用于 ExDoc。确保安装了依赖项。确保查看文档并正确安装。然后你就可以使用 mix docs
命令了。
安装方法如下:
- 将其添加到
mix.exs
中的依赖项:
对于 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
您可以在混音文件的项目函数中配置一些东西。如name
、source_url
和homepage_url
。请务必查看 ExDoc 的文档以获取更多详细信息。
关于“找不到任务”错误,mix help
列出了 当前 环境的任务。默认混合环境是:dev
,上面ex_doc
被添加到:dev
环境。但是,some projects 使用 :docs
环境,而不是 :dev
。
另外,mix任务可以通过编译提供,所以你可能需要先编译(同样尊重环境,同上)。
因此,如果 mix docs
任务未被 mix help
列出或“找不到”,请务必 运行 mix compile
和 mix help
在 ex_doc
依赖的环境中。例如,运行 MIX_ENV=docs mix compile
,然后 MIX_ENV=docs mix help
或 MIX_ENV=docs mix docs
.
我删除_build
目录,删除deps
目录的所有内容,删除mix.lock
.
然后在 mix-project 的命令行中执行命令:
mix deps.clean --all
mix deps.update --all
mix deps.get --all
之后,我 运行 mix docs
生成了文档。
命令 mix help docs
也打印 ExDoc 文档。
我的项目 mix do docs
成功了。
如果您安装了 ex_doc 和
{:ex_doc, "~> 0.19", only: :dev, runtime: false},
如果您 运行 处于 :prod
模式,它将不起作用。您需要删除 only :dev
从上面的行。
当我们有一个只对某些环境可用的依赖项时,比如 :test 或 :dev,就会出现这种错误
所以要解决这个问题,请确保特定的依赖项在所需的环境中可用
{:ex_doc, ">= 0.0.0", runtime: false}
像这样更新它应该可以解决问题。
如何为混合项目生成文档?它是怎么做到的?
使用 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
我的错误是什么?
mix docs
任务可用于 ExDoc。确保安装了依赖项。确保查看文档并正确安装。然后你就可以使用 mix docs
命令了。
安装方法如下:
- 将其添加到
mix.exs
中的依赖项:
对于 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
您可以在混音文件的项目函数中配置一些东西。如name
、source_url
和homepage_url
。请务必查看 ExDoc 的文档以获取更多详细信息。
关于“找不到任务”错误,mix help
列出了 当前 环境的任务。默认混合环境是:dev
,上面ex_doc
被添加到:dev
环境。但是,some projects 使用 :docs
环境,而不是 :dev
。
另外,mix任务可以通过编译提供,所以你可能需要先编译(同样尊重环境,同上)。
因此,如果 mix docs
任务未被 mix help
列出或“找不到”,请务必 运行 mix compile
和 mix help
在 ex_doc
依赖的环境中。例如,运行 MIX_ENV=docs mix compile
,然后 MIX_ENV=docs mix help
或 MIX_ENV=docs mix docs
.
我删除_build
目录,删除deps
目录的所有内容,删除mix.lock
.
然后在 mix-project 的命令行中执行命令:
mix deps.clean --all
mix deps.update --all
mix deps.get --all
之后,我 运行 mix docs
生成了文档。
命令 mix help docs
也打印 ExDoc 文档。
我的项目 mix do docs
成功了。
如果您安装了 ex_doc 和
{:ex_doc, "~> 0.19", only: :dev, runtime: false},
如果您 运行 处于 :prod
模式,它将不起作用。您需要删除 only :dev
从上面的行。
当我们有一个只对某些环境可用的依赖项时,比如 :test 或 :dev,就会出现这种错误 所以要解决这个问题,请确保特定的依赖项在所需的环境中可用
{:ex_doc, ">= 0.0.0", runtime: false}
像这样更新它应该可以解决问题。