技術memo

関数型ゴースト

Haskell PlatformをWindowsにインストールしたらCabalがupdateできなかった話(解決済)

一時はもうダメかと思いましたが、解決しました。

環境

紆余曲折

Haskell PlatformのWindows向けインストーラーをダウンロード、インストールします。

コマンドプロンプトからcabal updateを実行します。

  • 「お前のcabal-installは最新じゃない、cabal install cabal-installしろ」とのメッセージが出力されます。
  • どうも、この時点で入っているCabalのバージョンは、cabal --versionコマンドによれば1.18.1.5の模様です。

cabal install cabal-installを実行します。

Haskell Platformが自動挿入した環境変数PATHについて、順番を入れ替えます。

  • Haskell Platform\2014.2.0.0\mingw\binのパスは一番後ろに追加されているので、既存のcygwin(mingw)のパス文字列より前の位置に移動しておきます。

再びcabal install cabal-installを実行します。

GHCのパッケージキャッシュを削除します。

  • C:\Users\myname\AppData\Roaming\ghc\x86_64-mingw32-7.8.3\package.conf.dディレクトリを削除し、ghc-pkg --user recacheコマンドを実行します。
  • C:\Users\myname\AppDataの箇所は、%APPDATA%環境変数を変更している場合は変わるかもしれません。

cabal install --global cabal-installコマンドを実行します。

  • 無事にアップデートが完了します。
  • バージョンを再確認すると1.22.0.1にアップデートされました。
  • --globalオプションが無いと、インストールに成功してもバージョンは既存のものが使われるようです。