web-dev-qa-db-ja.com

Elm「モジュールが見つかりません」

私はエルムでかなり新しいです。フロントエンドのものを開発できる関数型言語を見るのは興味深いことです。ここで説明されている手順 here を順守している場合でも、モジュールに問題があります。

コードは

module Main where

import Html exposing ( Html )
import Signal

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

利用した Elm-reactor -a='localhost'出力を表示できるようにします。しかし、エラーが発生しています。そのモジュール「HTML」が見つかりません。

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

(二重の「検索」へへに注意してください)修正提案は私を助けませんでした。または、.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"
}

これが私のファイルツリーのスクリーンショットです。

Elm file tree

多分それはHaskellがモジュールを脅かしている方法とは異なる振る舞いをします。

どうすればこれを解決できますか? -問題。または私のElm-package.json正しく設定されていませんか?

23
KarelG

Elm 0.17のアップデート

0.17では、Htmlパッケージは Elm-lang/html に移動されました。ターミナルから次のコマンドを実行してインストールします。

Elm package install Elm-lang/html

また、evancz/Elm-htmlパッケージは0.17から存在しないため、Elm-package.jsonから削除する必要があります。

0.16から0.17へのアップグレードの詳細については、 .17アナウンス を参照してください。

Elm 0.16の元の回答

Elm-package.json構成に evancz/Elm-html パッケージがないため、Htmlが公開されています。 Elmのパッケージマネージャを使用して、Elm-package.jsonを直接編集するのではなく、依存関係をインストールできます。

端末から次のように入力します。

Elm package install evancz/Elm-html

また、evancz/Elm-htmlに必要な他のいくつかの不足している依存関係をインストールするように求められます。このコマンドを実行すると、Elm-package.jsonファイルが更新され、不足しているパッケージがインターネットからダウンロードされて、標準のElm-stuff/packagesディレクトリにインストールされます。

Elm-packageツールの詳細については、こちらをご覧ください。

Elmパッケージは package.Elm-lang.org でオンラインで閲覧できます。サイドバーには、ここで言及されているevancz/Elm-htmlパッケージを含む、人気のあるパッケージセクションがあります。

28
Chad Gilbert