cabal-install を インストール
コンテンツ
何度もcabal-installをインストールしている気がするのでメモ.
目次
追記
id:nobsunさんのコメントから;
cabal-installを展開した中に bootstrap があります.これを実行すれば必要なパッケージを
インストールしてくれるようです.(試していませんが)
以下 README の引用
Quickstart on Unix systems
————————–
As a convenience for users on Unix systems there is a bootstrap.sh script which
will download and install each of the dependencies in turn.
$ ./bootstrap.sh
It will download and install the above three dependencies. The script will
install the library packages into `$HOME/.cabal/` and the `cabal` program will
be installed into `$HOME/.cabal/bin/`.
You then have two choices:
* put `$HOME/.cabal/bin` on your `$PATH`
* move the `cabal` program elsewhere and edit the `$HOME/.cabal/config` file
and set the `symlink-bindir` entry to point to an alternative location where
that is on your `$PATH`, eg a `$HOME/bin` directory.
どうやら $HOME に install するようです.
cabal-installってなに?
簡単に言えば,haskellのapt-getのようなもの.
% sudo cabal install foo --global
と打つとパッケージ foo がインストールされる(–globalなので多分/usr/local/のどこかにインストール).
環境
- Ubuntu 9.04
- GHC 6.8.2
cabal-installをインストールしたい…
基本的には
http://hackage.haskell.org/package/cabal-install
の
cabal-install-
を展開したあと,展開ディレクトリに cd して
% runhaskell Setup.hs configure % runhaskell Setup.hs build % sudo runhaskell Setup.hs install --global
でOKなんですが…
% runhaskell Setup.hs configure Warning: Unknown fields: bug-reports (line 9) Fields allowed in this section: name, version, cabal-version, build-type, license, license-file, copyright, maintainer, build-depends, stability, homepage, package-url, synopsis, description, category, author, tested-with, data-files, extra-source-files, extra-tmp-files Configuring cabal-install-0.6.2... Setup.hs: At least the following dependencies are missing: Cabal >=1.6&&<1.7, network >=1&&<3, HTTP >=4000.0.2&&<4001, zlib >=0.4&&<0.6
必要なパッケージが入ってないよ!って怒られます.
少なくとも,Cabal, network, HTTP, zlib が無いようです.
必要なパッケージのInstall
実は,Ubuntuには Haskell の Cabal, network, HTTP, zlib パッケージがあります.
なので,
% sudo apt-get install libghc6-cabal-dev libghc6-network-dev libghc6-http-dev libghc6-zlib-dev
これでよし,と思いきや…
% runhaskell Setup.hs configure Warning: Unknown fields: bug-reports (line 9) Fields allowed in this section: name, version, cabal-version, build-type, license, license-file, copyright, maintainer, build-depends, stability, homepage, package-url, synopsis, description, category, author, tested-with, data-files, extra-source-files, extra-tmp-files Configuring cabal-install-0.6.2... Setup.hs: At least the following dependencies are missing: Cabal >=1.6&&<1.7, HTTP >=4000.0.2&&<4001
ちょっと,これ version 違うんだけど!って怒られました.
そこで,Cabal, HTTP はしかたないので, Hackage からソースをもらって,自分でInstallしましょう.
http://hackage.haskell.org/packages/archive/pkg-list.html
展開して
% runhaskell Setup.hs configure % runhaskell Setup.hs build % sudo runhaskell Setup.hs install --global
で問題ないはずです.HTTPでは Setup.hs はなく Setup.lhs なので注意.ちなみに,
% runhaskell Setup.hs help
できます.
やっと,cabal-install をインストール
% cd cabal-install-0.6.2/ % runhaskell Setup.hs configure % runhaskell Setup.hs build % sudo runhaskell Setup.hs install --global
とりあえず
% cabal update
とかしたあとに,好きなパッケージを入れると良いかと.
% sudo cabal install --global binary
こんな風に.
emacsのHaskell-modeが上手く動かない?
cabalを入れたあとで,emacs上で C-c C-l で ghciを起動すると
Prelude> :cd ~/.cabal/
というコマンドが自動実行されるという厄介な状況になります.
これは,(情報源は忘れましたが,たしか)Haskell-modeが.cablを探しに行くことが原因だそうです.
ということで,現在編集中のファイルがあるディレクトリに空のdummy.cabalなどをつくって置いておけば,
問題ないです(シャクですが).
最新のHaskell-mode(svn?)では修正されている,という情報をどこかで見た気がしますが,記憶違いかも.
作成者 Toru Mano
最終更新時刻 2023-01-01 (c70d5a1)