2011-11-17 19 views
5

私は古いDebianリポジトリやHaskell-Platformを使わずに、Ubuntu 11.04でHaskellを最初からセットアップしようとしています。CabalまたはCabal-Installなしでパッケージ/ライブラリをインストールするにはどうすればよいですか?

私はすでに問題なくソースからGHC-7.0.4をインストールしましたが、Cabalをインストールする必要があります(これは/usr/local/lib/ghc-7.0.4/Cabal-1.10.2.0のGHCに既に含まれているようです)およびCabal Install

後者は、独自のいくつかの依存関係(mtltextなど)をそれぞれ有するいくつかの依存関係(parsecnetwork)を、指定します。

これらのパッケージをインストールするコマンドは何ですか、私はtar.gz形式のhackageからのものでしょうか?解凍してから、runhaskellが動かない。 Setup.lhsが表示されていますが、それが何であるか、どのように使用するかははっきりしていません。

私が見つけたHaskellのドキュメントのほとんどは、あなたがレポやHaskell-Packageからインストールしたものと仮定しています。

ありがとうございます!

答えて

11

cabal-installには、これを行うシェルスクリプトがあります。 download it from hackageをインストールしてインストールする場合は、cabal-installをインストールするためにbootstrap.shを開始できます。それを使用して、他のパッケージをインストールすることができます。

+1

ありがとう、私はそれを認識していましたが、RWHからは、最初にparsecとネットワークがインストールされているように見えました(http://book.realworldhaskell.org/read/installing-ghc-and-haskell-libraries.html)。 docs HTTPが最初にインストールされてからbootstrap.shを実行できます。今はbootstrap.shがあなたのためにすべてのことをしているのが分かります。それは私が午前3時にこれを行うために得るものです。 – Kurtosis

5

Cabalcabal-installの2種類のパッケージがあります。 Cabalはライブラリ、cabal-installはcabalという実行可能ファイルです。

パッケージをインストールするには、cabal-installはオプションの便利なCabalのラッパーですが、Cabalが必要です。

http://hackage.haskell.org/trac/ghc/wiki/Commentary/Librariesによれば、Cabalは「ゼロブート」パッケージなので、GHCをビルドするとCabalとその依存関係は自動的に構築されます。

あなたは既にインストールされているパッケージを確認するために実行可能ghc-pkgを使用することができます。

# ghc-pkg list 

チェックあなたはGHCを構築した後、カバルがリストにある場合。そうならば、あなたはこの文書を使用して徒党インストールすることなく、より多くのパッケージをインストールすることができます。

http://haskell.org/haskellwiki/Cabal/How_to_install_a_Cabal_package

私はあなたが最初cabal-installをインストールすることをお勧めして、cabal-install実行可能ファイルを使用して他のすべてをインストールします。

# runhaskell Setup configure 
# runhaskell Setup build 
# sudo runhaskell Setup install 

パッケージのtarballを解凍し、Setup.hsまたはSetup.lhsファイルとフォルダ内のコマンドを実行します。グローバルなインストールのための通常のcommandineはこれです。 runhaskell Setup configure --user

このようにcabal実行ファイルとその依存関係をインストールする場合は、cabal install {package-name}を使用してさらにパッケージをインストールしてください。

ハスケルプラットフォームは、自分でcabal-installをインストールするという苦労のために存在することに注意してください。

+0

ありがとう、私は誤ってrunhaskellセットアップを使用していた参照してください。午前3時に全シリンダーで発砲しません。とても有難い! – Kurtosis

関連する問題