読者です 読者をやめる 読者になる 読者になる

taketoncheir.log

Like the Decatoncheir by Poseidon Industrial, This blog is Yet Another Storage for My Long Term Memories.

Haskell-platform入れたら

備忘録。
Haskell-platformのcabalはupdateしてはいかん。多分。
updateしたらcabal-dev ghciがこけるようになってしまった。(fake-ghc-cabal-devとやらで)

以下、haskell-platform入れ直しの作業ログ

  • Haskell-platform 2012.2.0.0 OS X 32bitをダウンロードしてインストール 本家 (※32bitでないとYesod関係で動かなかったりする)
  • cabal --versionでインストールを確認(※there is new version of cabal-installとか出てくるけど無視)
  • 多分最初に入れた人は、~/.bash_profileに
export PATH="$HOME/Library/Haskell/bin:$PATH"

を加えることになるかも(必要ないかもしれない。$HOME/.cabal/configにsymlink-bindirがセットされててそこにパスが通る。)。

  • cabal-devをインストール
    • cabal-devのソースフォルダ(.cabalのあるフォルダ)にて
    • 一応cabal update
    • cabal install
    • cabal-dev --versionでインストール確認
    • cabal-dev updateでもしとく
  • 以降、cabalizeされたプロジェクトをビルドするとき
    • ソースをcloneして.cabalのあるディレクトリにcd
    • cabal-dev install --only-dependencies
      • これでcabal-devフォルダが作成される。プロジェクトが依存するライブラリがこのcabal-devフォルダにすべてインストールされる、つまりsand-box化されるので依存地獄に陥らず安心。
    • cabal-dev install
      • cabal-dev内のライブラリを元にプロジェクト自身がビルドされ、cabal-dev/binにインストールされる
    • ※only-dependenciesは飛ばしてもいい
    • cabal-dev ghciとかするとデバッグに便利

ほんと、cabalの構成を軽い気持ちで変えてはいけませんね、反省。

(追記)

  • Yesod用に~/でcabal-dev install yesod-platform。これでyesodコマンドが使える。