euphonictechnologies’s diary

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

follow us in feedly

cabal sandboxを使う

cabal sandboxというのはPythonでいうvenvみたいなもの。グローバルのライブラリとかパッケージとかを汚染せずに、そのプロジェクトだけのisolateされた環境の中でパッケージのインストールとかを行える。

公式サイトの説明は以下。 https://github.com/creswick/cabal-dev Cabal User Guide

使い方は簡単で、プロジェクトのフォルダで(IntelliJ上で開発している場合はプロジェクトのルートフォルダの直下で)

cabal sandbox init

とすると.cabal-sandboxというディレクトリとcabal.sandbox.configというコンフィグファイルが作られて、ここでcabalするぶんにはすべてのパッケージが.cabal-sandbox以下にインストールされてコンピュータのグローバルなパッケージ環境には影響しない。 プロジェクトのcabalファイルにパッケージは羅列してあるはずなので後はいつもどおり

cabal install --only-dependencies

とすればいつもどおり必要なパッケージがするするとインストールされていく。

IntelliJのHaskellプラグインでも これ標準になんないかなあ。