GHC 7.8.1 がリリースされ、type family がうまく扱えない問題が発覚したため、すぐに GHC 7.8.2 がリリースされました。このおかげで Yesod が、うまくビルドできるようになりました。しばらくして、GHC 7.8.3 もリリースされる気配があります。また、一ヶ月を目処に Haskell Platform 2014.2 が出るようです。
こうなると、GHC をうまく共存させてくれる Haskell Platform 2014.2 のリリースを待とうかと思うかもしれませんが、そんな必要はありません。GHC 自体に複数のバージョンと共存できる仕組みがあるからです。
GHC 7.8.2 を試したい人は、気軽にインストールしましょう。GHC 7.8.3 や Haskell Platform 2014.2 がリリースされたら、GHC 7.8.2 は消せばいいのです。ここでは、後で消しやすくするためのコツを紹介します。対象は、Unix 系の OS です。Windows のことは、誰かに任せます。
インストール
GHC 7.8.2のダウンロードサイトから、必要なバイナリを取ってきて展開します。以下、Mac の例:
% wget http://www.haskell.org/ghc/dist/7.8.2/ghc-7.8.2-x86_64-apple-darwin-mavericks.tar.xz % tar zxvf ghc-7.8.2-x86_64-apple-darwin-mavericks.tar.xz % cd ghc-7.8.2
ここで、単に configure を実行すると、/usr/local の下にインストールする設定になります。これでだと、インストールするファイルが散らばって、後から消しにくくなります。そこで、例えば /usr/local/ghc-7.8 というディレクトリの下にインストールするように決めます。
% ./configure --prefix=/usr/local/ghc-7.8
次に /usr/local/ghc-7.8 というディレクトリを作ります。僕は、このディレクトリを自分の所有にしています。root の所有でもいいですが、make install するときに sudo を使わないといけません。おかしなことは起りませんが、不安な人は自分の権限でインストールするのがいいでしょう。GHC 自体が自分の所有になっていても、GHC を壊した経験は僕にはありません。
% sudo mkdir /usr/local/ghc-7.8 % sudo chown あなたのアカウント /usr/local/ghc-7.8 % sudo make install
PATH に /usr/local/ghc-7.8/bin を追加すれば、GHC 7.8.2 のインストールは完了です。
削除
削除したくなったら、3つのディレクトを消します。
- GHC 7.8.2 本体 (たとえば /usr/local/ghc-7.8)
- ~/.ghc 以下のサブディレクトリ (たとえば ~/.ghc/x86_64-darwin-7.8.2)
- ~/.cabal 以下のサブディレクトリ (たとえば、~/.cabal/lib/i386-linux-ghc-7.8.2)
~/.ghc や ~/.cabal 自体は消してはいけません。こうすれば、~/.cabal/bin 以下のコマンドは残ります。コマンドは、静的リンクされているので、引き続き使えます。ただし、alex や happy のように lib に設定ファイルを置いているコマンドはうごかなくなるので、インストールし直す必要があります。