Comment générer de la documentation pour un projet mix? Comment le faire?
La procédure pour travailler avec le projet de mixage Elixir:
mix new greeter
. greeter.ex
. mix.exs
. mix docs
commande. mix help
ne peut pas fournir la tâche docs
dans une liste d'options possibles:
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
Lorsque j'exécute la commande mix docs
, j'obtiens un mix-message:
** (Mix) La tâche "docs" ne peut pas être a trouvé. Voulez-vous dire "faire"?
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
Quelle est mon erreur?
5 Réponses :
La tâche mix docs
est disponible avec ExDoc . Assurez-vous que la dépendance est installée. Assurez-vous de consulter la documentation et de l'installer correctement. Vous pourrez alors utiliser la commande mix docs
.
Voici comment l'installer:
mix.exs
: pour Elixir> = 1.7:
def deps do [ {:ex_doc, "~> 0.18.0", only: :dev, runtime: false}, ] end
Elixir
def deps do [ {:ex_doc, "~> 0.19", only: :dev, runtime: false}, ] end
mix deps.get
mix docs
Il y a des choses que vous pouvez configurer dans la fonction projet de votre fichier de mixage. Tels que le nom
, source_url
et homepage_url
. Assurez-vous de consulter la documentation d'ExDoc pour plus de détails.
Concernant l'erreur "tâche introuvable", mix help
répertorie les tâches pour le courant environnement. L'environnement de mixage par défaut est : dev
, et au-dessus, ex_doc
a été ajouté à l'environnement : dev
. Cependant, certains projets utilisent un : docs
, au lieu de :dev
.
Donc, si la tâche mix docs
n'est pas répertoriée par mix help ou "n'a pas pu être trouvé", assurez-vous d'exécuter
mix help
dans l'environnement de la dépendance ex_doc
. Par exemple, exécutez MIX_ENV = docs mix help
ou MIX_ENV = docs mix docs
.
Cela devrait fonctionner comme ça, mais pour une raison quelconque, cela ne fonctionne pas. La version Elixir est la 1.8.2. Mon fichier mix.exs contient (`` `def deps do [{: ex_doc," ~> 0.19 ", only:: dev, runtime: false},])` `J'essaye de faire une description de elixirschool.com/en/lessons/basics/documentation matériel. J'ai fait tout ce que vous décrivez. Malheureusement, tout cela ne conduit pas à la génération de documentation.
J'ai lu la documentation ExDoc. Je voudrais voir toutes les options disponibles lors de la génération de documents, exécutez mix help docs
. Je ne peux pas - ** (Mix) La tâche "docs" est introuvable. Voulez-vous dire "faire"?
Je supprime le répertoire _build
, supprime tout le contenu du répertoire deps
, supprime mix.lock
.
Ensuite, dans une ligne de commande de mix-project, je fais des commandes:
mix deps.clean --all
mix deps.update --all
mix deps.get --all
Après cela, j'ai lancé mix docs
et la documentation a été générée.
Command mix help docs
imprime également la documentation ExDoc.
Pour mon projet, mix do docs
a fonctionné.
Si vous avez installé ex_doc avec
{:ex_doc, "~> 0.19", only: :dev, runtime: false},
Cela ne fonctionnera pas si vous utilisez le mode : prod
. Vous devez supprimer uniquement: dev
à partir de la ligne ci-dessus.
Ce type d'erreur survient lorsque nous avons une dépendance qui n'est disponible que pour certains environnements comme uniquement: test ou: dev Donc, pour résoudre ce problème, veuillez vous assurer qu'une dépendance particulière est disponible dans l'environnement requis
{:ex_doc, ">= 0.0.0", runtime: false}
Mettez-la à jour comme ceci et cela devrait résoudre le problème.