yesod-simple
テンプレートを使ってYesodを使って単純なWebアプリケーション(pkb
)をビルドします。 lts-6.25(最新のyesod-simple
のデフォルト)には最新バージョンがないライブラリがたくさん必要なので、リゾルバをstack.yaml
のlts-7.9に変更しました。私はまた、this issue with GHC 8.0.1を読んで成功しlts-7.9を使ったScaffolded Yesodアプリケーション: `stack build`が動作し、` stack test`が動作します。 `stack exec-yesod devel`はありません
{-# LANGUAGE NoDisambiguateRecordFields #-}
{-# LANGUAGE NoRecordWildCards #-}
必要とレコードを明示的な表記にどのX{..}
を変更を加えることによって、その周りに働きました。今すぐ私のパッケージはstack build
を使用して正常に構築され、ユニットテストはstack test
を使用して問題なく実行されます。 stack exec pkb
を使って私のアプリケーションを起動すると、私はウェブサイトにアクセスすることができ、すべて正常に機能します。 GHCiでアプリケーションを読み込むこともできます(stack exec cabal repl
を使用し、プロンプトにappMain
と[Enter]と入力)。
私はstack exec -- yesod devel
を使用して開発サーバーを実行しようと、私は次のエラーを取得する:
app/devel.hs:2:1: error:
Failed to load interface for ‘Application’
It is a member of the hidden package ‘[email protected]’.
It is a member of the hidden package ‘[email protected]’.
はstack exec -- yesod -v devel
の出力を見ると、私は見ることができますpkb
パッケージが検索されたディレクトリの一覧にあることを確認します。また、pkb
パッケージをロードするために必要なすべてのファイルが存在している:
$ ls -l .stack-work/install/x86_64-linux/lts-7.9/8.0.1/pkgdb
total 12
-rw-r--r-- 1 sam sam 5738 Nov 19 20:26 package.cache
-rw-r--r-- 1 sam sam 2536 Nov 19 20:26 pkb-0.0.0-AeggierDgKl46ITEmuA1C2.conf
$ ls -l .stack-work/install/x86_64-linux/lts-7.9/8.0.1/lib/x86_64-linux-ghc-8.0.1
total 4
drwxr-xr-x 6 sam sam 4096 Nov 19 20:26 pkb-0.0.0-AeggierDgKl46ITEmuA1C2
$ ls -l .stack-work/install/x86_64-linux/lts-7.9/8.0.1/bin
total 27440
-rwxr-xr-x 1 sam sam 28094672 Nov 19 20:26 pkb
なぜまだこのエラーメッセージに応じて「隠れた」pkb
パッケージはありますか?
私は前述のコマンドhereの出力を持っています。
さらに詳しい情報が必要な場合は、私にお知らせください。喜んで提供します。
ログを見ると、複数のバージョンの 'pkb'があるようです。ちょうど推測です: '.stack-work'を削除し、動作するか再度確認してください。 – Sibi
残念ながら、これは動作しません。 'app/devel.hs:2:1:エラー: 'Application'のインターフェイスを読み込めませんでした これは隠しパッケージ 'pkb-0.0.0'のメンバーです。 ' –
私はいません確かに、このパッケージが何であるか。私はhackageでそれを見ることができません:http://hackage.haskell.org/package/pkb – Sibi