3
votes

La tâche "docs" est introuvable. Vouliez-vous dire "faire"?

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:

  • Je génère un projet par la commande mix new greeter .
  • J'ajoute un bloc de commentaires dans le fichier greeter.ex .
  • J'ajoute des dépendances au fichier mix.exs .
  • J'essaie de générer de la documentation en 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?


0 commentaires

5 Réponses :


7
votes

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:

  • Ajoutez-le à vos dépendances dans 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
  • Exécutez mix deps.get
  • Exécutez 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 .


2 commentaires

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"?



3
votes

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:

  1. mix deps.clean --all
  2. mix deps.update --all
  3. 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.


0 commentaires

0
votes

Pour mon projet, mix do docs a fonctionné.


0 commentaires

0
votes

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.


0 commentaires

0
votes

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.


0 commentaires