euphonictechnologies’s diary

Haskell超初心者の日記です。OCamlが好きです。

follow us in feedly

Haskell - SDK設定のGHCがおかしくなった時に無理矢理治す方法

IntelliJ 14にアップグレードにした記念で先のエントリのようにGHCを綺麗に入れなおしてみました。するとGHCの場所が当然ですが変わります。すると以前の設定通りの場所にはGHCが当然ないのでビルドできなくなります。

設定を変えればいいじゃないかとおっしゃいますが、なんかghcがある場所を指定してもうまく行きません。どういうつもりなのか。

最終手段としてGHCのある場所を設定ファイルをいじって強制的に変更してやります。

Mac用IntelliJの設定ファイルはここ

$ cd ~/Library/Preferences/IntelliJIdea14/options/
$ ls jdk.table.xml
jdk.table.xml

$ grep -A2 -B2 GHC jdk.table.xml
    </jdk>
    <jdk version="2">
      <name value="GHC 7.8.3" />
      <type value="GHC" />
      <version value="7.8.3" />
      <homePath value="/usr/local" />

という感じになってます。バージョン13もバージョン番号意外は同じです。 ここのhomePathの部分を無理やり変えてやります。

$ which ghc
/usr/local/bin/ghc

なので、指定するパスは/usr/localです。/bin/ghcは勝手にくっつきます。ついでにGHCのバージョンが違う場合は数字も変更しておきましょう。見やすいので。

ちなみにSDKの設定がおかしい時はProject Structure -> Platform Settings内SDKs -> GHC XXXの設定の中のGHC home pathの部分が赤くなっています。正しければ白くなります。

f:id:euphonictechnologies:20150121210309p:plain