私は最近、受講しているプログラミング クラスのために Haskell Platform for Windows をインストールしました。コンパイラとしてGHCi、パッケージングシステムとしてCabalが含まれています。これは私の教科書が使用する演習パッケージであるため、Cabal で Craft3e パッケージをインストールしようとしましたが、役に立ちませんでした。Craft3e をインストールするにcabal unpack Craft3e
は、コマンド プロンプトに「\Craft3e-0.1.0.8」というディレクトリを作成します。ディレクトリに入った後、 と入力するとcabal install --disable-documentation
、次のメッセージが表示されます。
Resolving dependencies...
In order, the following would be installed:
time-1.2.0.5 (new version)
random-1.0.1.1 (reinstall) changes: time-1.4 -> 1.2.0.5
QuickCheck-2.5.1.1 (reinstall)
Craft3e-0.1.0.8 (new package)
cabal: The following packages are likely to be broken b
haskell-platform-2012.4.0.0
Use --force-reinstalls if you want to install anyway.
を使用した後cabal install --disable-documentation --force-reinstalls
、期待どおりにインストールされます。モジュールをロードしてテストします: ghci PicturesSVG
. これは正常にロードされます。しかし、GHCi コンパイラを終了して再び GHCi コンパイラに戻ると、Craft3e パッケージからモジュールをロードできなくなります。代わりに、次のメッセージが表示されます。
GHCi, version 7.4.2: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
<command line>:
Could not find module `PicturesSVG'
it is a hidden module in the package `Craft3e-0.1.0.8'
Use -v to see a list of the files searched for.
Failed, modules loaded: none.
どうしたの?と入力すると、パッケージがまだ表示されますghc-pkg list
。と入力しようとしましghc-pkg expose Craft3e-0.1.0.8
たが、プロンプトに次のように表示されます。
WARNING: cache is out of date: C:/Program Files (x86)/Haskell Platform/2012.4.0.
0\lib\package.conf.d\package.cache
use 'ghc-pkg recache' to fix.
再キャッシュを実行し、「公開」コマンドを再入力しましたが、結果はまだありません。
どんな解決策も本当に感謝しています!