web-dev-qa-db-fra.com

Orme "module introuvable"

Je suis assez nouveau à Elm. C'est intéressant de voir un langage fonctionnel qui vous permet de développer des choses frontales. Maintenant, même si je suis bien les étapes décrites ici , j'ai toujours des problèmes avec les modules.

Le code est

module Main where

import Html exposing ( Html )
import Signal

main : Signal Html.Html
main = Html.text "This should work."
       |> Signal.constant

J'ai utilisé Elm-reactor -a='localhost' pour pouvoir visualiser ma sortie. Mais je reçois une erreur, ce module 'HTML' est introuvable:

I cannot find find module 'Html'.

Module 'Main' is trying to import it.

Potential problems could be:
  * Misspelled the module name
  * Need to add a source directory or new dependency to Elm-package.json

(notez le double "trouver" hehe) La suggestion de correction ne m'a pas aidé. Ou il se peut que je ne comprenne pas correctement l'utilisation du fichier .json.

Elm-package.json:

{
    "version": "1.0.0",
    "summary": "testing Elm",
    "license": "BSD3",
    "source-directories": [
        ".",
        "./bin/"
    ],
    "exposed-modules": [],
    "dependencies": {
        "Elm-lang/core": "3.0.0 <= v < 4.0.0"
    },
    "Elm-version": "0.16.0 <= v < 0.17.0"
}

Voici une capture d'écran de mon arborescence de fichiers.

Elm file tree

Peut-être que cela se comporte différemment de la façon dont Haskell menace les modules.

Comment puis-je résoudre ce problème - eh simple? - problème. Ou est mon Elm-package.json vient d'être mal configuré?

23
KarelG

Mise à jour pour Elm 0.17

Dans 0.17, le package Html a été déplacé vers Elm-lang/html . Exécutez la commande suivante à partir du terminal pour l'installer:

Elm package install Elm-lang/html

Vous devez également supprimer le evancz/Elm-html package de Elm-package.json car il n'existe plus à partir de 0,17.

Pour plus d'informations sur la mise à niveau de 0,16 à 0,17, consultez la annonce de 0,17 .

Réponse originale pour l'orme 0,16

Votre Elm-package.json il manque la configuration evancz/Elm-html package, qui expose Html. Vous pouvez utiliser le gestionnaire de packages d'Elm pour installer les dépendances plutôt que de modifier Elm-package.json directement.

Depuis le terminal, saisissez ce qui suit:

Elm package install evancz/Elm-html

Vous serez également invité à installer quelques autres dépendances manquantes requises par evancz/Elm-html. L'exécution de cette commande mettra à jour votre Elm-package.json fichier ainsi que dérouler les paquets manquants à partir d'Internet et les installer dans le standard Elm-stuff/packages répertoire.

Plus d'informations sur le Elm-package l'outil peut être trouvé ici.

Vous pouvez parcourir les packages Elm en ligne sur package.Elm-lang.org . La barre latérale a une section Packages populaires qui contient le evancz/Elm-html package mentionné ici.

28
Chad Gilbert